-4

我在 C# 中定义了一个变量“str”:

 public string str= "hello";

我有一个需要从“str”读取值的 HTML 文件。我没有使用 ASP.NET。如何从 HTML 文件中读取 JavaScript 中的值?

4

2 回答 2

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 回答
0

如果您正在使用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

于 2013-02-06T11:49:02.310 回答