当使用母版页的页面没有母版页 ContentPlaceHolders 之一的 asp:Content 控件时,将显示默认内容。我想在确实具有该 ContentPlaceHolder 的 asp:Content 控件的页面上使用该默认内容。
在使用母版页的页面中,我想在代码中决定是使用默认内容还是特定于页面的内容。如何显示母版页中的默认内容而不是 ContentPlaceHolderID 的 asp:Content 控件中的内容?
例如,假设我有一个菜单 ContentPlaceHolder。默认内容显示基本菜单。该页面根据查询构建菜单,但如果查询没有结果,我想显示默认菜单。默认情况下,将显示空的 asp:Content 控件。如何获取母版页的默认内容?
最佳答案
一种方法是清除 Page_Load 中占位符内容的控件集合并添加更新的菜单。
protected void Page_Load(object sender, EventArgs e)
{
if(needsBetterMenu)
{
ContentPlaceHolder holder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
holder.Controls.Clear();
holder.Controls.Add(betterMenu);
}
}
关于asp.net - 使用 ContentPlaceHolder 的默认内容而不是页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1596199/