我需要实现一个功能,首先我必须从文件后面的代码显示Java脚本,然后需要用户重定向到其他页面。

我已经使用了

this.Context.Response.Write("<script type='text/javascript'>alert('some text')</script>");
.

ClientScriptManager.RegisterStartupScript();
.

但其中没有一个显示警报框 代码片段为:

//approach 1
    this.Context.Response.Write("<script type='text/javascript'>alert('some text')</script>");
  SPUtility.Redirect(string.Empty, SPRedirectFlags.UseSource, this.Context);

//approach 2
String csname1 = "PopupScript";
                Type cstype = this.GetType();

                // Get a ClientScriptManager reference from the Page class.
                ClientScriptManager cs = Page.ClientScript;

                // Check to see if the startup script is already registered.
                if (!cs.IsStartupScriptRegistered(cstype, csname1))
                {
                    StringBuilder cstext1 = new StringBuilder();
                    cstext1.Append("<script type=text/javascript> alert('You do not have Access to perform any action.') </");
                    cstext1.Append("script>");

                    cs.RegisterStartupScript(cstype, csname1, cstext1.ToString());
                }
  SPUtility.Redirect(string.Empty, SPRedirectFlags.UseSource, this.Context);
.

但其中没有一个显示警报框

请帮助我

有帮助吗?

解决方案

The script will never make it to the client because of the redirect. You either need to send the script with the alert and then postback to perform the redirect (yuck) or perform the redirect in the script by doing a location.replace to the URL you want to redirect to...you could also set location.href to the URL as well.

So you could do something like this:

ClientScript.RegisterClientScriptBlock(this.GetType(), "scriptname", "alert('some message'");location.replace('url to redirect to');", true);

其他提示

These methods registers and adds the script block to the page. So it will fire after the page is rendered from the server. In your case you are redirecting to some other page while the script is registered on the previous page.

So it would not fire on the previous page.

许可以下: CC-BY-SA归因
scroll top