【问题标题】:ASP.Net C# Master SiteASP.Net C# 主站点
【发布时间】:2016-04-06 22:25:14
【问题描述】:

我对带有 C# (WebForms) 的 ASP.NET 中的 ****.Master Site a 有疑问。 我创建了一个 Site.Masters 文件,里面有很多不同的占位符。所以问题是 - 是否可以从不同的 .aspx 文件中填充占位符?

.Master 页面:

    <asp:ContentPlaceHolder ID="MainHeader" runat="server">

    </asp:ContentPlaceHolder>

    <asp:ContentPlaceHolder ID="MainContent" runat="server">

    </asp:ContentPlaceHolder>

    <asp:ContentPlaceHolder ID="MainFooter" runat="server">

    </asp:ContentPlaceHolder>
</div>

现在我会做这样的事情:

  1. 向主标题添加一些内容 - 内容在名为 mainHeader.aspx 的文件中表示
  2. 向主内容添加一些内容 - 内容在名为 mainContent.apsx 的文件中表示

这可能吗?或者我的计划有解决方案吗?我想为我的 .NET 项目创建一个模块化的扁平结构。

感谢您的帮助 - 最好的问候

【问题讨论】:

  • 当您说“从不同的 .aspx 文件修改”时,您的意思是在页面生命周期的某个阶段从隐藏代码 (.aspx.cs ) 修改?
  • @YuraZaletskyy 我有不同的 .aspx 文件,我想在一个站点中显示所有这些不同的 .aspx 文件。所以有一个容器 ***.Master 应该适合所有不同的 .aspx 文件,当然每个 .aspx 文件都有代码
  • 仍然不清楚你想要达到什么。假设您有文本输入。用户输入1作为输入后,你加载page1.aspx,如果用户输入2作为输入你想加载page2.aspx?

标签: c# asp.net master-pages


【解决方案1】:

不,母版页不是这样工作的。

当用户/客户端请求单个内容页面时,该页面将与母版页合并。用户/客户端无法调用母版页。

我相信User Controls 是您正在寻找的。​​p>

【讨论】:

    【解决方案2】:

    你可以通过使用 jquery.load() 来做你想做的事,这里是文档http://api.jquery.com/load/,但是我认为你正在做的不是继续的方式,为了做你想做的事,我建议你去做这样做:

    创建用户控件,每个主 ContentPlaceHolder 一个,然后在您的主中,添加每个并启动它们。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 2021-10-24
      • 2010-09-05
      • 2011-09-18
      相关资源
      最近更新 更多