C# で定義された変数「str」があります。
public string str= "hello";
「str」から値を読み取る必要がある HTML ファイルがあります。ASP.NET を使用していません。HTML ファイルから JavaScript の値を読み取るにはどうすればよいですか?
C# で定義された変数「str」があります。
public string str= "hello";
「str」から値を読み取る必要がある HTML ファイルがあります。ASP.NET を使用していません。HTML ファイルから JavaScript の値を読み取るにはどうすればよいですか?
を使用している場合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
あなたが言いたいように、この文字列が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();