English 中文(简体)
使用内容目录
原标题:Use ContentPlaceHolder s default content instead of page s content
  • 时间:2009-10-20 17:41:37
  •  标签:

如果使用总页数的页数的字面为:对总页数的中位数的中位数进行中位控制,则出现违约内容。 我想在does的网页上使用这一缺省内容:对内容PlaceHolder的自定控制。

在使用主页的网页上,我想在代码中决定是否使用缺省内容或具体页的内容。 我怎么能够显示主页的缺省内容,而不是像样的内容:对内容PlaceHolderID的自我控制?

例如,我有一张菜单。 缺省内容显示基本菜单。 该网页从询问中修建了菜单,但如果问询没有结果,我想显示违约的菜单。 但是,如果出现违约情况,就会显示出空洞的星号:自食控制。 我怎么拿主页的缺失内容?

最佳回答

我提出的最佳办法是不使用内容提要中的缺省内容。 相反,我补充说,与内容PlaceHolder相邻的一座广场的违约内容:

<asp:ContentPlaceHolder ID="Menu" runat="server" /><!-- no default content -->
<asp:PlaceHolder runat=server ID="DefaultContentForMenu" Visible=false
    EnableViewState=false >Default menu content here</asp:PlaceHolder>

然后,我向主页添加了“部队不动产”,以便使用主页的网页能够具体说明,即使该网页提供了自己的内容,也应使用违约内容。

如果部队不动产是真实的,或者内容持有人是空的,主页的放款方法显示的是违约内容:

protected override void Render(HtmlTextWriter writer)
{
    if (ForceDefaultContentForMenu || !Menu.HasControls())
    {
        Menu.Controls.Clear();
        DefaultContentForMenu.Visible = true;
    }
    base.Render(writer);
}

现在使用主页的网页如果不为门乌内容持有人增加自己的内容,就会因违约而产生内容,但可以具体指出,应当使用默认内容而不是其本身的内容。

采用这种办法的唯一缺点是,如果视觉演播室将内容区添入一页,则缺省内容被 co。 对Im的工作来说,这样做是一种好处,而不是一种缺点,因为如果我把内容区添入一页,那是因为我不想要默认内容。

问题回答

一种办法是,在“Load”页中明确对地主内容的控制,并添加最新的菜单。

protected void Page_Load(object sender, EventArgs e)
{
    if(needsBetterMenu)
    {
        ContentPlaceHolder holder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
        holder.Controls.Clear();
        holder.Controls.Add(betterMenu);
    }
}

如果你在儿童网页后面的法典中修改了总页的内容,你可以做以下工作:

在主页的html控制上添加一个标题“服务器”:

地点。 主 席

...
<ul id="menu" runat="server">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
</ul>
...

之后,在需要改变菜单内容的儿童页后面的法典中,提出了以下法典:

protected void Page_Load(object sender, EventArgs e)
    {
        HtmlGenericControl c = Master.FindControl("menu") as HtmlGenericControl;

        if (c != null)
        {
            c.Controls.Clear();
            c.Controls.Add(new HtmlGenericControl("li") { InnerHtml = "<a href="#">Link 3</a>" });
        }
    }

或者说,你想要控制菜单。

如果没有该守则,将产生以下产出:

<ul id="ctl00_menu">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
</ul>

和一页的代码显示:

<ul id="ctl00_menu">
    <li><a href="#">Link 3</a></li>
</ul>

显然,你不想像现在这样使用这一法典。 这只是一个原型。 我会支持它,允许在任何控制中增加内容,并将其扔进我所有网页都继承的基页。





相关问题
热门标签