从代码后面添加类属性

本文关键字:属性 添加 代码 | 更新日期: 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在页面生命周期中不会改变。