如何从代码隐藏中在更新面板中找到客户端元素
本文关键字:元素 客户端 代码 隐藏 更新 | 更新日期: 2023-09-27 18:29:57
在asp.net中开发用户控件时,我发现查找位于更新面板中的html客户端元素。
.ascx侧包含以下内容:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="<%=ClientID%>_MyElement">
</div>
</ContentTemplate>
</asp:UpdatePanel>
我需要在我的代码隐藏中获得对该div的引用。
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack)
{
//var c = UpdatePanel1.FindControl("<%=ClientID%>_MyElement"); //<-not working.
//:
//get some values from c
//:
}
}
现在,由于还有Ajax(JavaScript)在操作div:
- 我无法为该div设置runat="server"
- 我必须使用<%=ClientID%>_MyElement作为id’ing约定
因此,假设div将保持原样——有什么方法可以获取引用吗从后面的代码到它?
试试这个:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="MyElement" runat="server">
</div>
</ContentTemplate>
</asp:UpdatePanel>
在后面的代码中
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack)
{
var c = MyElement;
}
}
在javascript 中
var MyElement=document.getElementById('<%= MyElement.ClientID');
尝试从UpdatePanel
访问div
。示例:var div = UpdatePanel1.Controls[0];