如何从内容页面的更新面板更改主页中的 css class of div
how to change a css class of div in master page from update panel in content page
我想从我的子页面更改母版页中的 div 样式(显示),
我用过:
protected void ShowMsgText(int MsgID)
{
HtmlGenericControl MsgInner;
MsgInner =((HtmlGenericControl)Master.FindControl("MsgInner"));
MsgInner.Attributes["class"] = "MsgInnerShow";
}
问题:
我想更改更新面板中的 class,母版页中的 div 不在更新面板中,
无需将更新面板移至母版页即可实现此目的的任何方法。
如果没有 UpdatePanel,您将使用 FindControl 来更改 class。
Panel panel = Master.FindControl("Panel1") as Panel;
panel.CssClass = "myClass";
但是由于您使用了 UpdatePanel,所以最简单的方法是使用 jQuery。
在母版页上面板和脚本
<asp:Panel ID="Panel1" runat="server">Welcome to Whosebug</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);
我想从我的子页面更改母版页中的 div 样式(显示), 我用过:
protected void ShowMsgText(int MsgID)
{
HtmlGenericControl MsgInner;
MsgInner =((HtmlGenericControl)Master.FindControl("MsgInner"));
MsgInner.Attributes["class"] = "MsgInnerShow";
}
问题: 我想更改更新面板中的 class,母版页中的 div 不在更新面板中, 无需将更新面板移至母版页即可实现此目的的任何方法。
如果没有 UpdatePanel,您将使用 FindControl 来更改 class。
Panel panel = Master.FindControl("Panel1") as Panel;
panel.CssClass = "myClass";
但是由于您使用了 UpdatePanel,所以最简单的方法是使用 jQuery。
在母版页上面板和脚本
<asp:Panel ID="Panel1" runat="server">Welcome to Whosebug</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);