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->何も起こらない場合。メッセージなし、アラートなし!!!

質問 :

  • このコードが Update-Panel で機能しないのはなぜですか?
  • これを修正するには?または、メッセージを表示する方が良いですか?
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);
}

更新パネルを使用しているため、更新パネルコントロールを使用した後にWebページのページライフサイクルが変更されたため、更新パネルなしで以前使用していた機能は機能しませんでしたPage.ClientScript。従来のWebページライフサイクルでのみ機能します。

詳細については、ここに行きたいと思うかもしれません。

于 2012-08-14T07:56:05.813 に答える