-4

C# で定義された変数「str」があります。

 public string str= "hello";

「str」から値を読み取る必要がある HTML ファイルがあります。ASP.NET を使用していません。HTML ファイルから JavaScript の値を読み取るにはどうすればよいですか?

4

2 に答える 2

0

を使用している場合C# MVC: モデルから直接非表示の for フィールドを割り当てることができます:

 @Html.HiddenFor(m => m.str)

次に、JavaScript ファイルで次のことができます。

var str = document.getElementById('str'); 

使用している場合はASP.NET WebForms、サーバー サイド コントロールを使用できます。

<asp:TextBox ID="txtStr" runat="server" />

public void Page_Load(object sender, EventArgs e) 
{
      txtStr.Text = str;
}

Document Object Modelこのコントロールの名前を確認するには、Internet Explorer の開発者ツールを使用して を調べる必要があります ( F12)。次に、サーバー側のコントロールを参照し、前述したのと同じアプローチを使用して JavaScript 変数に割り当てることができます。 document.getElementById

于 2013-02-06T11:49:02.310 に答える
0

あなたが言いたいように、この文字列がC#ファイルで定義されている場合、それはこの変数がサーバー側にあることを意味します。HTML はクライアント側です。つまり、この変数に「ただ」アクセスすることはできません。変数を公開する Web サービスのような接続が必要になります。このサービスは、JavaScript を介して呼び出すことができます。jQuery はここで非常に役立ちます。

変数にアクセスする別の方法は、非表示フィールドまたはその他の HTML コントロールに値を入れることです。次に、小さな JavaScript を使用して、値を取得するのは非常に簡単です。

編集: ASP.NET を使用していると仮定すると、次のように動作します。

C#:

private string str = "Hello World!";

protected void Page_Load(object sender, EventArgs e)
{
    StrHiddenField.Value = str;
}

ページ:

<asp:HiddenField ID="StrHiddenField" runat="server" />
<script type="text/javascript" language="javascript">
    var theValue = document.getElementById('<%=StrHiddenField.ClientID%>').value;
    alert(theValue);
</script>

編集2:

または jQuery を使用する (ファイルをダウンロードして含めることを忘れないでください)

var theValue = $('#<%=StrHiddenField.ClientID%>').val();
于 2013-02-06T11:40:27.833 に答える