使用jQuery获取asp:HiddenField的值

Mel*_*nie 27 asp.net jquery hiddenfield

我有两页.从第一页开始,我打开一个带有查询字符串的模态,该查询字符串包含客户端名称的值.然后我用它在打开的模态上设置一个隐藏字段.

我需要在新模态上使用TextBox来显示从第一个屏幕发送的值.

我尝试使用以下方法获取值:

var hv = $('hidClientField').val();`
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

这是我隐藏的领域:

<asp:HiddenField ID="hidClientName" runat="server" />`
Run Code Online (Sandbox Code Playgroud)

我在Page_Load后面的代码中设置它,如下所示:

hidClientName.Value = Request.QueryString["Client_Name"] ?? "";`
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激.

Ama*_*ure 52

请尝试以下任何一种方法

  1. 如果ASP.Net控件和javascript都在同一页面上,那么使用

    var hv = $("#"+ '<%= hidClientField.ClientID %>').val();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果你想从一些JS文件访问控件,那么

    // 'id$' will cause jQuery to search control whose ID ends with 'hidClientField'
    var hv = $('input[id$=hidClientField]').val();
    
    Run Code Online (Sandbox Code Playgroud)
  3. 您可以使用类名选择器来实现相同的功能.看看这个类似的问题.

在asp.net中,控件id被破坏了.因此,您的代码无效.

希望这对你有用.


Did*_*hys 7

你忘记了#你的选择器按ID选择:

var hv = $('#hidClientField').val();
Run Code Online (Sandbox Code Playgroud)

虽然asp.net根据命名容器生成ID,但您最终可能会得到一个ID ctl1$hidClientField.然后,您可以使用"属性结束"选择器:

var hv = $('input[id$=hidClientField]').val();
Run Code Online (Sandbox Code Playgroud)

查看有关jQuery选择器的文档


ada*_*ost 5

使用ID选择器.

var hv = $('#hidClientName').val();
Run Code Online (Sandbox Code Playgroud)

要么

var hv = $('#<%=hidClientName.ClientID%>').val();
Run Code Online (Sandbox Code Playgroud)