-1

javascript を使用してユーザーにメッセージを表示しようとしています。ボタンがあり、このボタンは次のようなことを行います。

Label1.Text = "Hello world";
//javascript code

まず、ユーザーにメッセージが表示された後、label1.text は「Hello world」になります。

ありがとう。

4

5 に答える 5

2

C# と JavaScript のコードは、異なる時間枠と異なるコンピューターで実行されます。サーバー側のコードが実行されて HTML が生成され、それがブラウザに送信されます。次に、ブラウザは JavaScript コードを実行します。

したがって、C# でラベル テキストを設定してから javascript を実行するようなことはできません。C# から JavaScript を、または JavaScript から C# を「呼び出す」ことはできません。

ただし、できることは、JavaScript でラベル テキスト (ブラウザーでスパンとしてレンダリングされる) を設定してから、やりたい他のことを行うことです。

于 2009-10-06T18:06:39.573 に答える
1

私があなたを理解しているなら、あなたはボタンにイベントハンドラーが必要です。

<button id="somebutton">Click me</button>
<label for="someid"></label>

ボタンは任意のHTMLにすることができますが、実際にはIDを表示したいだけです。

document.getElementById('somebutton').onclick = function() {
  document.getElementById('someid').innerHTML = 'Hello World';
  return false;
};

必要に応じて、テキストノードを追加するラベルに子を追加することもできます。

于 2009-10-06T17:47:35.913 に答える
1

ここで何を求めているのか正確にはわかりません。HTMLラベルを知りません。ASP:Labelについて話している場合、それはブラウザでスパンとしてレンダリングされます。JavaScriptで値を設定するには、ドキュメントモデルを使用して値にアクセスする必要があります。以下が役立つかもしれませんが、そうでない場合は、質問を明確にしてください。

<HTML>

<head>
<script>
function changeText()
{
   document.getElementById('spnSayHello').innerHTML = 'Hello World';
}
</script>
</head>

<body>
<span id='spnSayHello' onclick="changeText();">clickme</span>
</body>
</HTML>

更新: 私があなたを正しく理解している場合、あなたはあなたのc#コードを介してページにjavascriptをレンダリングしようとしていますか?これは、さまざまな方法で実行できます。私が通常これを行う方法は、次のRegisterStartupScript ように使用しています。

private void writeSomeJs()
{
   ClientScript.RegisterStartupScript(this.form1.getType(),"jPopUp","<script>alert('Hello World');</script>")
}
于 2009-10-06T17:51:02.323 に答える
1

おそらく、ラベルのテキストが設定された後にJavaScriptコードを実行する最も簡単な方法は、次のとおりです。

Label1.Text = "Hello world" +
    @"<script type=""text/javascript"">
          alert(""Message to show."");
      </script>";

基本的に、JavaScriptコードはラベルのテキスト内に配置されます。ブラウザがサーバーから返されたページを読み込むと、JavaScriptが処理され、メッセージが表示されます。

于 2009-10-06T17:51:41.057 に答える
0

これがあなたが試みていることだと思います。私はこのコードを試してみました。

Label1.Text = "Hello world";

Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "alert('Messages');", true);

またはここからjavascript関数を呼び出すこともできます

Label1.Text = "Hello world"; 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "function();", true);
于 2009-10-07T06:45:03.993 に答える