在这方面我需要帮助,我正在尝试将我的div标记中的"display:none“设置为"display:block”,该标记位于Content中。当我执行下面的代码时,HtmlGenericControl类继续给出错误“对象引用没有设置为对象的实例”,因为他找不到"divSignin“(我的div标记的id ),但是它就在那里,如代码中所示:请帮助。
我的HtmlGenericControl实现有什么问题吗?
下面是我的内容页面中的代码:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="col-md-4" id="divSignin" style="display:none" runat="server">
</div>
</asp:Content>下面是我的母版页后面的代码:
protected void lbtnRegister_Click(object sender, EventArgs e)
{
HtmlGenericControl myObject = Master.FindControl("ContentPlaceHolder1").FindControl("divSignin") as HtmlGenericControl;
//HtmlGenericControl myObject;
// myObject = (HtmlGenericControl)ContentPlaceHolder1.FindControl("divSignin");
// myObject.Style.Add("display", "block");
}代码后面的注释部分是我尝试过的另一件事,它返回相同的内容(Null)。
发布于 2016-03-12 08:01:28
所以我找到了我问题的答案。我的代码是正确的,后面的代码没有任何问题。只是我创建了一个新的div (请参阅下面的html:)
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="col-md-4">
<div id="someID" runat="server" style="display:block">
</div>
</div>
这是我在MasterPage中的代码:
protected void lbtnRegister_Click(object sender, EventArgs e)
{
HtmlGenericControl myObject = this.FindControl("ContentPlaceHolder1").FindControl("divShow") as HtmlGenericControl;
myObject.Style.Add("display", "none");
}我不知道是什么导致了空引用,但我猜想在div中有一个类导致了这里的问题。谢谢你们的回复。我感谢你的努力和时间
发布于 2016-03-11 11:18:24
你能在下面试试吗,
protected void lbtnRegister_Click(object sender, EventArgs e)
{
HtmlGenericControl myObject = ContentPlaceHolder1.FindControl("divSignin") as HtmlGenericControl;
}发布于 2016-03-11 11:32:49
如果单击事件的处理程序位于MasterPage上,则应使用:
HtmlGenericControl control = this.FindControl("MainContent").FindControl("divSignin") as HtmlGenericControl如果处理程序位于页面的代码背后,您的解决方案就可以工作了,您的div就在其中。但是在这种情况下,你也可以得到这样的控制:
HtmlGenericControl control = this.divSignin;https://stackoverflow.com/questions/35938542
复制相似问题