【问题标题】:Is it possible to link several aspx files to one content placeholder and switch between them?是否可以将多个 aspx 文件链接到一个内容占位符并在它们之间切换?
【发布时间】:2015-01-01 18:45:24
【问题描述】:

我对 asp.net 很陌生,目前正在尝试创建包含有关徒步旅行的信息的网站。它将涵盖 6 个区域,每个区域将有更多的部分一般信息、景点和跋涉。

在最高级别,我有带有 6 个项目(区域 1 - 区域 6)的菜单的母版页。单击其中一项后,clickedArea 将保存到会话中并打开嵌套母版页。它包含带有 3 个项目(一般信息、景点、跋涉)的选项卡和包含一般信息页面的内容占位符。我想要实现的是,单击另一个选项卡后,系统会从会话中读取 clickedArea 并在占位符中显示正确的内容页面。

所以最后我想要18个.aspx内容页面,它们将根据clickedArea和clickedTab动态显示在最底层的占位符中。我想我可以用 18 个占位符来做到这一点,但我正在寻找具有三个甚至一个内容占位符的更好的解决方案。有人可以帮助我吗?为了更好地理解,我的嵌套 Mastep 页面如下所示。如何实现将页面动态加载到这些占位符中?还是有其他方法可以做到?

 *<%@ Master Language="C#" MasterPageFile="./Site1.master" AutoEventWireup="true" 
CodeBehind="Regions.Master.cs" Inherits="Travels.Areas" %>
        <asp:Content ID="Content1" ContentPlaceHolderID="Content1" Runat="Server">

        <div id="tabs">
        <ul>
        <li><a href="#tabs-1">General</a></li>
        <li><a href="#tabs-2">Sights</a></li>
        <li><a href="#tabs-3">Treks</a></li>
        </ul>
        <div id="tabs-1">
            <asp:ContentPlaceHolder ID="General" runat="server"></asp:ContentPlaceHolder> 
        </div>
        <div id="tabs-2">
            <asp:ContentPlaceHolder ID="Sights" runat="server"></asp:ContentPlaceHolder> 
        </div>
        <div id="tabs-3">
            <asp:ContentPlaceHolder ID="Treks" runat="server"></asp:ContentPlaceHolder> 
        </div>
        </div>
        </asp:Content>*

谢谢你,约瑟夫

【问题讨论】:

标签: html asp.net tabs master-pages contentplaceholder


【解决方案1】:

我终于找到了一个解决方案 - 使用链接到 web.sitemap 的父子菜单。

<asp:SiteMapDataSource ID="smMaster" runat="server" ShowStartingNode="false" />
   <asp:SiteMapDataSource ID="smChild" runat="server" ShowStartingNode="false" StartFromCurrentNode="true" />

现在数据显示正确

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2021-10-31
    • 2021-12-25
    相关资源
    最近更新 更多