如何从aspx页面访问userControl中的Web控件

时间:2010-06-16 13:23:35

标签: c# asp.net javascript

我在usercontrol TextBoxUC.ascx中有2个文本框控件 我有一个包含usercontrol的page.aspx。如何使用page.aspx中的javascript获取对每个文本框的引用?

5 个答案:

答案 0 :(得分:1)

您是否有权修改用户控件?如果是这样,您可以添加Textbox1ClientID和Textbox2ClientID等属性,这将返回相应控件的客户端ID。

用户控制c#:

public string Textbox1ClientID { get { return this.textbox1.ClientID; } }

页面上的js:

var text1 = document.getElementById('<% =this.UserControl1.Textbox1ClientID %>');

如果您无法修改用户控件,则必须手动将客户端ID字符串放在一起。

JS:

var text1 = document.getElementById('<% =this.UserControl1.ClientID %>_Textbox1');

答案 1 :(得分:0)

您可以通过控件名称查找它,它应该类似于UserControl1_TextBox1。

的document.getElementById( 'UserControl1_TextBox1');

答案 2 :(得分:0)

如果您正在使用masterPage,或者在UserControl的情况下它非常难,因为它生成了自己的id,您可以访问它们的最佳方法是使用JQuery,

在UserControl中,为您的文本框类名

&LT; asp:textbox id =“_ text01” class =“textbox” runat =“server”/&gt;

从JQuery可以访问它们

$( “文本框。 ”)addClass(“ 的borderStyle”);

我希望这对你有用

答案 3 :(得分:0)

$('#<%= userUC.FindControl("txtFname").ClientID %>')

答案 4 :(得分:0)

您可以将属性ClientIdMode设置为任何aspx控件的静态,您可以轻松找到。