【问题标题】:Access C# value from HTML从 HTML 访问 C# 值
【发布时间】:2013-01-21 14:09:57
【问题描述】:

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

 public string str= "hello";

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

【问题讨论】:

  • 你的意思是用javascript?
  • 您使用什么技术? ASP.NET?阿贾克斯? JavaScript?
  • 假设您使用的是 ASP.NET,其中一个选项是将值写入隐藏控件,然后使用 JavaScript getElementById(elementId) 或 jQuery $("#elementId") 访问脚本中的控件。跨度>
  • @user1983100: elementID 将是隐藏控件的标识符id。查看getElementById - documentationjQuery - documentation 了解更多详情。从任一解决方案开始,当您遇到问题时,只需发布​​您遇到问题的代码,我们可以帮助您解决问题。
  • @user1983100 - 如果我的回答或阿巴斯的回答没有帮助到你,我相信你使用了错误的技术。您想使用 ASP.NET 和 C# 来完成您需要的工作。

标签: c# javascript html


【解决方案1】:

如果你使用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;
}

您必须检查 Document Object Model 以查看使用 Internet Explorer 中的开发人员工具 (F12) 调用此控件的内容。然后,您可以引用服务器端控件并使用我提到的相同方法将其分配给 JavaScript 变量:document.getElementById

【讨论】:

    【解决方案2】:

    如果这个字符串,正如你的意思,是在 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(不要忘记 download 并包含文件)

    var theValue = $('#<%=StrHiddenField.ClientID%>').val();
    

    【讨论】:

    • 你能解释一下第二种方式吗?
    • 那你用的是什么技术?
    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    相关资源
    最近更新 更多