如何使用javascript在用户控制页面的父页面中获取隐藏的控件ID

时间:2012-03-07 05:19:06

标签: javascript asp.net

如何使用javascript在用户控制页面的父页面中获取隐藏的控件ID。页面中有一个隐藏的输入控件。我想在此页面中使用的用户控制页面中为此控件赋值。它是一个ascx页面控件。

<input type="hidden" runat="server" name="isChanged" id="isChanged" value="0" />

3 个答案:

答案 0 :(得分:1)

如下所示注册

isChanged.ClientID- is serverside property... so this will work for you 

document.getElementById("<%=isChanged.ClientID %>");

答案 1 :(得分:1)

你可以使用jquery使用'ends with'选择器来完成这个。

var element = $("input[id$=isChanged]")[0];

这假设您的页面上只有一个输入,其id以“isChanged”结尾。我们使用的结果是因为asp会使你的控件的客户端ID像ct100 $ placeholder1 $ mypanel $ isChanged。

更强大的解决方案是在您的usercontrol上设置一个属性(例如'ClientIdOfHiddenField'),您可以从page_load上的父页面设置该属性

protected void Page_Load(object sender, EventArgs e)
{
    UserControl1.ClientIdOfHiddenField = isChanged.ClientID;
}

然后在您的用户控件的标记中,您可以

var element = document.getElementById("<%= ClientIdOfHiddenField %>");

答案 2 :(得分:0)

如果您使用的是jQuery,则应该可以使用

var hidden = $('input[id$="isChanged"]');

否则@Pranay Rana的回答应该有效。