开发者

Open new window on postback

开发者 https://www.devze.com 2023-01-19 22:49 出处:网络
Requirements: We have a form for users to submit. On submission, form data is used for calculations and generation of reports.

Requirements: We have a form for users to submit. On submission, form data is used for calculations and generation of reports.

On postback, a confirmation message and further options are displayed. We want开发者_开发知识库 to display report in a new window/tab.

Conditions: We do not want to use JavaScript on postback to open a new window onload as this will stop users who have JavaScript disabled.

Possible solutions:

  1. Open a new window on button click with a unique id (let the postback happen for code execution). The new window should request report but code waits until report is generated. On report page, show a wait message which timeouts and allows user to refresh or use page refresh in meta.
  2. Use JavaScript but detect if JS is enabled on postback (by setting a variable value using JS on form load), if JS is disabled show a link to the user for report else open a window using JS on page load after postback.

Questions:

  1. Is there any better way to do this?
  2. Any tips to improve above solutions?
  3. Which one will you prefer and why?


Make a link with target=_blank which redirects to a page that generates the report and then show it.

IMO users that want to access your site WILL have javascript enabled. The web without javascript is not a web, maybe it was a few years ago, but now...

If you want to test for js, you can register a script after postback:

// normal postback
ScriptManager.RegisterStartupScript(this, GetType(), "key", "script();", true);

// postback from a updatepanel
ScriptManager.RegisterStartupScript(updatePanel, updatePanel.GetType(), "key", "script();", true);


Check if js is enabled, and if js is enabled use ClientScript.RegisterStartupScript(this.GetType(), "yourScript", script, true); to execute you js and open your report page. If js id not enabled show a link to the report page.

0

精彩评论

暂无评论...
验证码 换一张
取 消