1

Page_Loadでサーバー側からクライアント側スクリプトを実行しようとしています。このコードはhereから見つかりました。サーバー側のコードです:

protected void Page_Load(object sender, EventArgs e)
{
    if (!ClientScript.IsStartupScriptRegistered("alert"))
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(),
            "alert", "alertMe();", true);
    }
}

そして、それはクライアント側のコードです:

<script type="text/javascript">
    function alertMe() {
        alert('Hello');
    }
</script>

しかし、 Page_Loadでは何も起こりません。

更新: ソース コードcoderun

4

2 に答える 2

2

alertMe()ページの最後で、定義される前にあなたを呼び出しています。

asp.net に登録されたすべてのスクリプトは、form タグでレンダリングされます。

JavaScript ブロックをページの先頭に移動することをお勧めします。

<head runat="server">
  <script type="text/javascript">
    function alertMe() {
      alert('Hello');
    }
  </script>
</head>

これは、期待どおりに動作する変更されたコードの実行です。

于 2013-01-19T08:28:01.803 に答える
0

2つのことを確認することをお勧めします

  1. あなたのjs関数は他の関数ではありませんか。その後、サーバーには表示されません

  2. スクリプトがタグを持つ html タグrunat="server"です。

あなたの場合:

<head runat="server">
    <script type="text/javascript">
        function alertMe() {
            alert('Hello');
        }
    </script>
</head>
于 2013-01-19T08:15:04.610 に答える