代码之家  ›  专栏  ›  技术社区  ›  Pablo Fernandez

ASP.NET MVC中一页中的另一个标题,而不创建另一个母版页

  •  2
  • Pablo Fernandez  · 技术社区  · 15 年前

    在我的母版页中,我定义页面标题如下:

    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /><%= "- MyWebSite". %></title>
    

    然后在每一个视图上,我都有这样的东西:

    <asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
      Products
    </asp:Content>
    

    所以我总是以网站的名字结尾,比如“产品-我的网站”。

    但是对于一个而且只有一个页面,主页,我只想要网站的名称,就像“我的网站”一样。理想情况下,对于没有定义标题的每个视图,我都希望这样做,我只显示站点的名称。问题是,我当前的代码以“-mywebsite”作为标题。

    有没有什么办法在没有大量重复的情况下做到这一点?绝对不会创建另一个模板。

    2 回复  |  直到 12 年前
        1
  •  4
  •   Pablo Fernandez    15 年前

    你可以把 - MyWebSite 在另一个里面 ContentPlaceHolder 做一个 Content 主页中的控件(仅限)。

    在母版页中,您将

    <title>
      <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
      <asp:ContentPlaceHolder ID="TitleSuffixContent" runat="server">
        - MyWebSite
      </asp:ContentPlaceHolder>
    </title>
    

    当您的产品页面保持不变时

    <asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
      Products
    </asp:Content>
    

    您的主页将类似于:

    <asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
      MyWebSite
    </asp:Content>
    <asp:Content ID="TitleSuffix" ContentPlaceHolderID="TitleSuffixContent" runat="server">
    </asp:Content>
    

    甚至:

    <asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
      MyWebSite
    </asp:Content>
    <asp:Content ID="TitleSuffix" ContentPlaceHolderID="TitleSuffixContent" runat="server">
      - Your place on the interwebs
    </asp:Content>
    
        2
  •  0
  •   Gonzalo.-    12 年前

    你需要做的只是把它移走 runat="server" 你的头牌属性