【问题标题】:Override ~ behaviour in controls覆盖 ~ 控件中的行为
【发布时间】:2010-01-16 19:08:50
【问题描述】:

快速背景故事:我正在制作我的网站的“框架”版本,它的母版页与正常页面不同(适合 iframe 的)。它由mysite.com/Framed/whatever 访问,而不是mysite.com/whatever。这在 IIS 中被重写为mysite.com/whatever?framed=true。效果很好。

我遇到的问题是所有链接都是相对的,使用 ~ 之类的 ~/Server.aspx 在正常站点中运行良好。我需要覆盖它,而不是产生../Server.aspx(因为它“应该”)它产生../Framed/Server.aspxServer.aspx

目前这意味着页面会在您单击链接后立即返回正常视图 (mystite.com/whatever2),我希望它继续留在 mysite.com/Framed/...

【问题讨论】:

    标签: c# asp.net rewrite relative-path


    【解决方案1】:

    您真的不想要 "../Server.aspx?framed=true" 吗?这可能更容易实现

    【讨论】:

    • 那会更容易,但我仍然不确定。另外:如果页面在框架中,我会使用一些简单的 javascript 来重写页面,从而获得我想要的行为。
    【解决方案2】:

    ~ 解析为应用程序的根目录,因此您可以在主站点下为您的框架版本创建一个名为“Framed”的虚拟目录,因此“~/”解析为“/Framed/”。然后,您可以检查原始请求 URI 中是否存在“/Framed/”,而不是使用查询字符串开关来选择母版页。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-15
      • 2011-12-26
      • 1970-01-01
      • 2013-03-04
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多