我想从我的子页面更改母版页中的div样式(显示), 我用过:
protected void ShowMsgText(int MsgID)
{
HtmlGenericControl MsgInner;
MsgInner =((HtmlGenericControl)Master.FindControl("MsgInner"));
MsgInner.Attributes["class"] = "MsgInnerShow";
}
问题: 我想从更新面板更改类,母版页中的div不在更新面板中, 任何实现此目的的方法,无需将更新面板移动到母版页。
答案 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);