我在 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# 文件中定义的,这意味着这个变量驻留在服务器端。您的 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();
如果您正在使用C# MVC
:您可以直接从模型中分配隐藏字段:
@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;
}
您必须使用 Internet Explorer ( )Document Object Model
中的开发人员工具检查该控件的名称。F12
然后,您可以引用服务器端控件并使用我提到的相同方法将其分配给 JavaScript 变量: document.getElementById