当我使用用户控件从包含我的用户控件的aspx页面获取div标签时,我遇到了问题。
我在aspx页面中有一个div:<div id="divMask" class="divMask" runat="server"></div>
在我的用户控件中,我想让div ID添加属性“onclick”,但我无法得到它。
我的aspx页面:
<div id="dvConfirmAcc" runat="server" style="display: none; position: absolute; z-index: 2000; top: 155px; left: 400px;">
<uc1:ConfirmAccount ID="ucConfirmAccount" runat="server" />
</div>
<div id="divMask" class="divMask" runat="server"></div>
在我的用户控件中ucConfirmAccount:
protected void Page_Load(object sender, EventArgs e)
{
string url = "some url";
[I want get divMask at here].Attributes.Add("onclick", "closeMessage('" + url + "')");
}
请帮帮我。
答案 0 :(得分:4)
您无法直接从Page
访问UserControl
中定义的div,而是必须使用Page.FindControl
方法
protected void Page_Load(object sender, EventArgs e)
{
System.Web.UI.Control divMask = (System.Web.UI.Control)this.Page.FindControl("divMask");
if (divMask is System.Web.UI.HtmlControls.HtmlGenericControl)
{
System.Web.UI.HtmlControls.HtmlGenericControl htmlCtrl = (System.Web.UI.HtmlControls.HtmlGenericControl)divMask;
htmlCtrl.Attributes[..] = "...";
}
}
答案 1 :(得分:0)
如果您可以发布一些代码以便我们为您提供更多帮助,那将会更有帮助。
尝试阅读这些链接,它们可能会帮助您解决问题:
.NET In Search Of ASP.Net Controls
ASP.NET 2.0 MasterPages and FindControl()
Find Control in Multiview