从代码后面添加类属性
本文关键字:属性 添加 代码 | 更新日期: 2023-09-27 18:09:56
我有以下代码:
div1.Attributes.Add("class", "displayNone");
它可以在page load
上工作,但不能在OnClick
事件上工作。
这是因为我的html <div id="div1"></div>
似乎改变为:
<div id="div1_ucSomeControl_SoemthingElse"></div>
。
我怎样才能绕过这个?
我认为在这种情况下控件的ID无关紧要。您可能会遇到这个问题,因为class
属性已经存在。试试这个:
div1.Attributes["class"] = "displayNone";
<div id="div1" runat ="server">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>
背后的代码:
protected void Button1_Click(object sender, EventArgs e)
{
div1.Attributes.Add("class", "displayNone");
}
通常应该在Page_PreRender事件中进行这种属性操作/添加:
div1.Attributes.Add("class", "displayNone");
无论如何,当你说它不工作在OnClick事件你仍然意味着服务器端我猜;因为在客户端你不能这样执行代码
服务器端,像div1
这样的id使用对象应该总是有效的,在代码背后对象的id在页面生命周期中不会改变。