1

如您所见I want to show to client some text which are most Important for Client's。所以我计划显示警报表单服务器端。为了实现这一点,我创建了JScript 函数,如下代码:

 function ShowMessage(s) {
        alert(s);
 }

所以在 cs 代码中编写这个方法来调用JS-Function

public static void ShowMessage(System.Web.UI.Page Pointer, string Message)
{
    if (!Pointer.ClientScript.IsStartupScriptRegistered("message"))
        Pointer.Page.ClientScript.RegisterStartupScript
            (Pointer.Master.GetType(), "message", "ShowMessage('" + Message + "');", true);
}

This Code work well ;)

所以我尝试批准我的网络应用程序。和using Update-panel and Script-Manager。使用它们后我遇到了新问题。(将所有按钮放在更新面板中)

在每次Button-Click或更好的Post-back情况下,如果调用ShowMessage方法 ->没有发生。没有消息,没有警报!!!

问题 :

  • 为什么此代码在更新面板中不起作用?
  • 如何解决这个问题?还是显示信息的更好方式?
4

1 回答 1

1

试试这个

public static void ShowMessage(System.Web.UI.Page Pointer, string Message)
{
    if (!Pointer.ClientScript.IsStartupScriptRegistered("message"))
      ScriptManager.RegisterStartupScript(Pointer,
                                          Pointer.Master.GetType(),
                                          "message", 
                                          "ShowMessage('" + Message + "');", 
                                          true);
}

由于您使用的是更新面板,因此您之前使用的没有更新面板的功能不起作用,因为您的网页的页面生命周期在使用该更新面板控件后发生了变化,Page.ClientScript仅适用于传统的网页生命周期。

更多你可能想去这里

于 2012-08-14T07:56:05.813 回答