从后面的代码添加类属性

时间:2011-09-27 17:32:23

标签: c# asp.net html ajax

我有以下代码:

div1.Attributes.Add("class", "displayNone");

适用于page load但不适用于OnClick事件。

这是因为我的html <div id="div1"></div>似乎改为:

<div id="div1_ucSomeControl_SoemthingElse"></div>

页面呈现后。

我怎样才能解决这个问题?

3 个答案:

答案 0 :(得分:3)

我不认为控件的ID在这种情况下很重要。您可能遇到此问题,因为class属性已存在。试试这个:

div1.Attributes["class"] = "displayNone";

答案 1 :(得分:2)

<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");
}

这将是有效的。

答案 2 :(得分:0)

通常你应该在Page_PreRender事件中执行这种属性manupilation / addition:

div1.Attributes.Add("class", "displayNone");

无论如何当你说它在OnClick事件中不起作用时你仍然意味着服务器端我想;因为在客户端,你不能以这种方式执行该代码。

服务器端,像div1这样的id对象的使用应始终有效,在代码隐藏对象中,id不会在页面生命周期中改变。