你能从后面的代码中为更新面板生成的div设置css类吗?

时间:2009-11-04 21:09:27

标签: asp.net ajax updatepanel

如果我有UpdatePanel

<asp:UpdatePanel ID="udPanel" runat="server">
            ...
</asp:UpdatePanel>

在渲染时创建此div

<div id="ctl00_udPanel">

如何在后面的代码中引用它来动态更改css类?

4 个答案:

答案 0 :(得分:4)

您可以做的是在javascript中写出ClientID客户端,然后将jQuery与AddClass未经测试的)一起使用:

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
    $("#<%=udPanel.ClientID%>").addClass("MyClass");
</script>

答案 1 :(得分:1)

不幸的是,UpdatePanel被认为是浏览器不可见的抽象(但实际上并非如此)。所以你不能为它申请一个类名。

唯一的方法是将类名应用于div内的Panel或ASP.NET UpdatePanel

答案 2 :(得分:0)

从我的脑海中,尝试udPanel.Attributes

答案 3 :(得分:0)

这是我能找到的最好的动态。您可以创建一个javascript函数来更改接受控件的clientID更改的css类,并将css类的字符串作为参数。您可以将此设置为在body的onload()方法中调用,动态传入clientID和css类。这使您可以更改页面的不同状态的css类。

    HtmlGenericControl body = (HtmlGenericControl)uPanel.Page.Master.FindControl("masterBody");
    body.Attributes.Add("onload", "setCSSClass('" + uPanel.ClientID.ToString() + "', '" + cssClassName + "')");