【问题标题】:Identifying Pages in ASP.net识别 ASP.net 中的页面
【发布时间】:2014-02-13 19:54:10
【问题描述】:

我正在开发一个使用 DNN 作为我选择的内容管理系统的网站,我遇到了一个问题,即主要内容区域和侧面区域将根据您所在的页面进行切换。

在 .ascx 文件中,我知道我可以根据您所在的 URL 编写条件:

<% If Request.RawUrl.Contains("piece-of-url") Then %>

但我想知道是否有更永久或更可靠的方法来标记页面,以防页面名称发生更改,或者该页面下方的页面可能具有不同的样式(虽然,我可以包括扩展作为解决此问题的一种方式)。

感谢您的帮助。

【问题讨论】:

  • 这种情况是皮肤还是模块的一部分?
  • 它是皮肤的一部分。
  • 这可能看起来有点矫枉过正,但我​​建议将条件部分拆分为单独的皮肤.ascx 文件,并将单个页面设置为该特定皮肤。它更适合 DNN 似乎做事的方式,而且你没有这些条件块乱扔你的皮肤文件。

标签: asp.net web content-management-system dotnetnuke


【解决方案1】:

在 DNN 中,如果您想根据您所在的页面更改页面的运行方式,您通常会按照 Brent Mannering 的建议定义一个单独的 SKIN,或者将不同的模块应用于站点上的不同页面。

话虽如此,您还可以针对 DNN 页面的“TabId”,在皮肤的 ASCX 文件的代码中,您可以根据 tabid 定义功能。

【讨论】:

    【解决方案2】:

    当我需要这样做时,我创建了一个“书签”模块并将其添加到页面上。书签模块只是在设置中存储了一个值对,在我的实例中,我使用了像 或 。这样,页面名称无关紧要,您可以更改页面名称,将页面移动到不同的父级,但只要页面上的书签值保持不变,您将永远拥有它。

    只需确保您需要的每个页面都有一个书签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多