Javascript 如何在js/jquery中访问usercontrol值

Javascript 如何在js/jquery中访问usercontrol值,javascript,c#,jquery,asp.net,webusercontrol,Javascript,C#,Jquery,Asp.net,Webusercontrol,假设我创建了一个包含两个文本框和一个按钮的用户控件 --Start UserControl UserDetails-- <asp:TextBox runat="server" id="txtName"></asp:TextBox> <asp:TextBox runat="server" id="txtAddress"></asp:TextBox> --End UserControl UserDetails- 在aspx中,如果我使用相同的用

假设我创建了一个包含两个文本框和一个按钮的用户控件

 --Start UserControl UserDetails--
 <asp:TextBox runat="server" id="txtName"></asp:TextBox>
 <asp:TextBox runat="server" id="txtAddress"></asp:TextBox>
--End UserControl UserDetails-
在aspx中,如果我使用相同的用户控件

<uc1:UserDetails runat="server" ID="UserDetails1" />
如何使用用户控件id UserDetails1访问txtName? 如何使$'UserDetails1'.val返回txtName的值?
在文本框中使用数据键

      --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" />
您可以使用id选择器。但是,由于您使用了asp.net,它可能会在HTML中以不同的id呈现


希望这有帮助

在文本框中使用数据键

      --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" />
您可以使用id选择器。但是,由于您使用了asp.net,它可能会在HTML中以不同的id呈现

希望这有帮助

试试这个,使用Jquery

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

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

只需在用户控制代码中为您的文本框添加一个公共属性

public TextBox Name
{
    get { return txtName; }
    set { txtName = value; }
}
现在,您可以按如下方式访问文本框:

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

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

只需在用户控制代码中为您的文本框添加一个公共属性

public TextBox Name
{
    get { return txtName; }
    set { txtName = value; }
}
现在,您可以按如下方式访问文本框:

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

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

我相信它是$txtName.val,但页面上显示的呈现html将显示最终输入ID。$txtName.val将起作用,我很清楚这一点。但是关于用户控件id,我应该能够访问文本框值。$'userControl'.Val应返回第一个文本框值我相信它是$txtName.Val,但页面上显示的呈现html将显示最终输入ID。$txtName.Val将起作用,我很清楚这一点。但是关于用户控件id,我应该能够访问文本框值。$'userControl'.Val应返回第一个文本框值