如何在内容页面的更新面板中更改母版页中的div的css类

时间:2016-12-22 15:45:16

标签: asp.net updatepanel

我想从我的子页面更改母版页中的div样式(显示), 我用过:

 protected void ShowMsgText(int MsgID)
{
    HtmlGenericControl MsgInner;
    MsgInner =((HtmlGenericControl)Master.FindControl("MsgInner"));
    MsgInner.Attributes["class"] = "MsgInnerShow";
}

问题: 我想从更新面板更改类,母版页中的div不在更新面板中, 任何实现此目的的方法,无需将更新面板移动到母版页。

1 个答案:

答案 0 :(得分:1)

如果没有UpdatePanel,您可以使用FindControl来更改类。

Panel panel = Master.FindControl("Panel1") as Panel;
panel.CssClass = "myClass";

但是由于你使用UpdatePanel,最简单的方法是使用jQuery。

在主页面上的Panel和脚本

<asp:Panel ID="Panel1" runat="server">Welcome to StackOverflow</asp:Panel>

<script type="text/javascript">
    function changeClass(className) {
        $("#<%= Panel1.ClientID %>").attr("class", className);
    }
</script>

然后在aspx页面后面的代码中,你可以在PostBack上调用那个javascript函数。

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "changeClassName", "changeClass('myClass');", true);