如何在asp.net中动态地将内容加载到contentplaceholder?

时间:2014-07-11 07:28:04

标签: c# asp.net webforms contentplaceholder

我有一个包含一个contentplaceholder的母版页,主页的其余部分填充了用户控件文件以定义标题,导航等。我有一个实现treeview的侧面导航。 treenode填充了数据库中的数据。我想使用contentplaceholder根据点击的treenode显示来自不同.aspx页面的内容。

这是母版页的一部分:

<div>
  <div>
   <uc5:lcont ID="lcont1" runat="server"/>
  </div>
  <div>
    <asp:ContentPlaceHolder ID="ccont" runat="server">      
    </asp:ContentPlaceHolder>
  </div>

  <div>
     <uc7:rcont ID="rcont1" runat="server" />
  </div>

正如您所看到的,contentplaceholder位于两个div之间的中心位置。让我告诉你它的快照。

enter image description here

我想将来自不同.aspx页面的内容加载到黄色区域表示的contentplaceholder。内容需要根据点击右侧的treenode。

我需要的是用同一页面中的其他内容替换contentplace holder内的内容而不重新加载整个页面。

1 个答案:

答案 0 :(得分:1)

您想要的是ASP.NET主页和内容页面概念提供的内容。您可以创建一个母版页,在该母版页中可以删除网站的公共布局。页眉,页脚,菜单等。使用母版页中的一个或多个内容占有者,将可变内容呈现委托给各个内容页面。

现在,您需要使用Visual Studio中的“Web窗体使用母版页”选项创建一个或多个内容页面(.aspx)。创建内容页面后,您将获得与母版页中的内容占位符一样多的内容块。您只需渲染这些内容块,然后它们将自动显示在母版页的相应位置。

在树视图中,您需要确保树节点正确链接到这些aspx页面。然后,只要单击树节点,内容就会根据需要在中心区域中呈现。