如何在js / jquery中访问usercontrol值

时间:2016-12-12 06:12:28

标签: javascript c# jquery asp.net webusercontrol

假设我创建了一个包含两个文本框,一个按钮

的用户控件
<table style="width:100%">
  <tr>
    <th>cnsmr_accnt_id</th>
    <th>cnsmr_accnt_pymnt_amnt</th> 
  </tr>
  <tr>
     <td>562590</td>
     <td>-565.090</td>
  </tr>
  <tr>
      <td>562590</td>   
      <td>-565.090</td>
  </tr>
  <tr>
      <td>562607</td>   
      <td>-27208.180</td>
  </tr>
  <tr>
      <td>562618</td>   
      <td>200.000</td>
  </tr>
</table>
如果我使用相同的用户控件,

在aspx中

 --Start UserControl UserDetails--
 <asp:TextBox runat="server" id="txtName"></asp:TextBox>
 <asp:TextBox runat="server" id="txtAddress"></asp:TextBox>
--End UserControl UserDetails-
  1. 如何使用用户控件ID <uc1:UserDetails runat="server" ID="UserDetails1" />
  2. 访问txtName
  3. 如何让UserDetails1返回$('#UserDetails1').val()的价值?

3 个答案:

答案 0 :(得分:3)

使用Jquery

试试这个
$("[id$='txtName']").val();
$("[id$='txtAddress']").val(); 

答案 1 :(得分:1)

只需在

后面的用户控制代码中为您TextBox添加公共属性即可
public TextBox Name
{
    get { return txtName; }
    set { txtName = value; }
}

现在您可以像这样访问TextBox

<uc1:UserDetails runat="server" ID="UserDetails1" />

    <script>
        $(function () {
            $("#<%= UserDetails1.Name.ClientID%>").val("set you text here");
            //or
            var name = $("#<%= UserDetails1.Name.ClientID %>").val();
        });
    </script>

答案 2 :(得分:0)

在文本框中使用数据键。

      --Start UserControl UserDetails--
     <asp:TextBox runat="server" id="txtName" data-key="name"></asp:TextBox>
     <asp:TextBox runat="server" id="txtAddress" data-key="address"></asp:TextBox>
    --End UserControl UserDetails-

<uc1:UserDetails runat="server" ID="UserDetails1" data-usercontrol = "UserDetails1" />

在jquery中,

$("[data-usercontrol='UserDetails1']").find("[data-key='name']").val();
$("[data-usercontrol='UserDetails1']").find("[data-key='address']").val();

您可以使用ID选择器。但是既然你已经使用过asp.net,它可能会在HTML中以不同的id呈现。

希望这有帮助!