代码之家  ›  专栏  ›  技术社区  ›  Mike Cole

ASP.NET页面内容-它属于哪里?

  •  1
  • Mike Cole  · 技术社区  · 15 年前

    我正在开发一个web应用程序,它有一个母版页和几个内容页。每个页面的主要内容右侧都有一个小侧边栏,其中包含一些简短的内容。但是,这些简短的内容是特定于您所在页面的。我无法决定是将其放在每个单独的页面上,还是放在多视图的母版页上,在代码隐藏中使用一些逻辑来指定根据您所在的页面显示哪个视图。

    哪个看起来更优雅?我对ASP.NET还相当陌生,我正在尝试对适当的体系结构有一个良好的感觉,等等。

    3 回复  |  直到 15 年前
        1
  •  4
  •   olle    15 年前

    可以在单个母版页中创建多个内容占位符。因此,在你的情况下,我将创建两个。一个用于文章内容,一个用于侧边栏,如:

    <!-- some html-->
    <asp:contentplaceholder id="ArticleContents" runat="server">
    </asp:contentplaceholder>
    <!-- some more html-->
    <asp:contentplaceholder id="ArticleSidebar" runat="server">
    </asp:contentplaceholder>
    <!-- even more html-->
    

    然后,您可以将文章内容和侧边栏内容放在同一页面中,并使用以下内容将其放置在正确的位置

    <asp:Content ID="article" ContentPlaceHolderID="ArticleContents" Runat="Server">
    Your article
    </asp:Content>
    <asp:Content ID="sidebar" ContentPlaceHolderID="ArticleSidebar" Runat="Server">
    Your sidebar
    </asp:Content>
    
        2
  •  2
  •   Charlie    15 年前

    如果你想在你的网站变得越来越大,需要更多这些自定义边栏的情况下获得一些可管理性,那么我不会在母版页中添加任何超出标准布局的内容。

    我觉得你的方法太复杂了。

        3
  •  0
  •   Jeff Siver    15 年前

    您还可以将额外的代码放入一个(或两个)用户控件中。然后,内容页面将包含适合该页面的用户控件,用于右侧边栏。