我想从我的孩子页面中更改主页中的div样式(显示),我用过:
protected void ShowMsgText(int MsgID)
{
HtmlGenericControl MsgInner;
MsgInner =((HtmlGenericControl)Master.FindControl("MsgInner"));
MsgInner.Attributes["class"] = "MsgInnerShow";
}
问题:我想从Update面板上更改课程,Master页面中的DIV不在更新面板中,实现此目的的任何方法无需将更新面板移至主页。
没有UpdatePanel,您将使用FindControl来更改类。
Panel panel = Master.FindControl("Panel1") as Panel;
panel.CssClass = "myClass";
但是,由于您使用了更新范围,因此最简单的方法是使用jQuery。
在主页上,面板和脚本
<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页面的后面的代码中,您可以在发行后调用JavaScript函数。
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "changeClassName", "changeClass('myClass');", true);