0

コンテンツページのファイルの背後にあるASP.net4.0コードでJavaSciptアラート機能を使用しました

public void Show(string message)
 {

  Page.RegisterClientScript(this.GetType(), "Alert", "<script type=text/javascript>alert('+message+')</script>");         
 }

ボタンをクリックしてこのスクリプト呼び出しを取得すると、アラートメッセージが空白の画面に表示され、同じ画面が完全に読み込まれます。

ページ全体を読み込んだ後(メッセージはバックコントロールと同じページに表示されます)、メッセージが表示されたら、このメッセージが必要です。マスターページとコンテンツページの使用。

助けてください

4

4 に答える 4

1

ドキュメントがロードされたときにそれを表示したい場合は、次を使用しますRegisterStartupScript

 public void Show(string message)
 {
     ClientScriptManager cs = Page.ClientScript;
     Type myType = this.GetType();
     // Check to see if the startup script is already registered.
     if (!cs.IsStartupScriptRegistered(myType, "AlertScript"))
     {
         String script = "alert('" + cleanMessage + "')";
         cs.RegisterStartupScript(myType, "AlertScript", script, true);
     }
 }

RegisterStartupScriptページ内のすべての要素の後にスクリプトをレンダリングします。これにより、他の DOM 要素が読み込まれた後に実行されることが保証されます。

于 2012-04-10T15:20:24.070 に答える
1

ページ内のすべてのコントロールをロードできるタイムアウト期間を設定することもできます。私のために働く以下のコードを見てください。

private void MessageBox(string Msg) { ClientScript.RegisterStartupScript(this.GetType(), "AlertMsg", "<script language='javascript'> setTimeout(function () { alert('" + Msg + "') }, 500); </script>"); }

PS: 要件に応じてタイムアウト期間を変更してください。

于 2013-07-02T05:38:11.150 に答える
0

レンダラーブロック!

    <html>
         <head>
              // <%= GetScripts() %>        here!
         </head>
         <body>
              // <%= GetScripts() %>        or here!
         </body>
    </html>

.cs で

    public string GetScripts()   
     {
          string exit="<script type='text/javascript' language='javascript'> $( function(){";
          exit+= ""; //here!
          return exit + "});</script>";
     }
于 2012-09-02T05:56:27.727 に答える
0

分離コード:

  System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), "Script", "showMessage();", True)

JS :

<script type="text/javascript" charset="utf-8">
 $(document).ready(function () {
 function showMessage() {
 alert("Hello!");
 }
 });
</script>
于 2012-04-10T16:23:55.417 に答える