我正在母版页上编写代码,我需要知道正在显示哪个子(内容)页面.我该如何以编程方式执行此操作?
我用这个:
string pageName = this.ContentPlaceHolder1.Page.GetType().FullName;
它以这种格式"ASP.default_aspx"返回类名,但我发现很容易为大多数目的解析.
希望有所帮助!
最好让ContentPage
通知MasterPage
.这就是ContentPage
拥有Master
房产而MasterPage
没有房产的原因Child
.最好的方法是在上面定义一个属性或方法,MasterPage
并通过它的Master
属性使用它ContentPage
.
如果使用此技术,最好明确指定MasterPage的类名.这使得在ContentPage中使用MasterPage.
例:
//Page_Load MyMaster m = (MyMaster)this.Master; m.TellMasterWhoIAm(this);
希望这可以帮助.
这听起来像个坏主意.主人的想法是它不应该关心哪个页面,因为这是每个页面的所有常用代码.
我有理由检查母版页中的子页面.
我的主页上有所有菜单选项,如果未设置某些系统设置,则需要禁用它们.
如果不是,则显示消息并禁用按钮.由于设置页面是来自此母版页的内容页面,因此我不希望该消息继续显示在所有设置页面上.
这段代码对我有用:
//Only show the message if on the dashboard (first page after login) if (this.ContentPlaceHolder1.Page is Dashboard) { //Show modal message box mmb.Show("Warning Message"); }
使用下面的代码.
Page.ToString().Replace("ASP.","").Replace("_",".")