1

这曾经在旧版本的服务堆栈(.33)中工作。我现在正在尝试 0.55。

我有一个带有相对链接的 .cshtml 页面,并且我还在 EndpointHostConfig 中设置了 WebHostUrl。

在旧版本中,metarefresh 和 href 都被替换为 WebHostUrl。所以两者都是

 http://server/baseurl/Incidents.

在较新的版本中,似乎只有 href 是。所以元刷新不再起作用。它刷新到

http://server/baseurl/~/Incidents

不确定是否可以修复。

示例 .cshtml

  <head>
      <meta http-equiv="refresh" content="3; url=~/Incidents">
   </head>
<body> 
<div>
<p>
<center>
    <a href="~/Incidents">View Incidents</a>
</center>
</p>

应用主机.cs

        SetConfig(new EndpointHostConfig {
            AllowJsonpRequests = true,
            WebHostUrl = ConfigurationManager.AppSettings["BaseUrl"],
4

1 回答 1

2

问题是~不是有效的 html 或有效的 URL。但是你可以使用 Razor 中的 URL 扩展方法为你翻译路径,因为它理解波浪号。ASP.NET 将其理解~为应用程序的根,并将相应地对其进行翻译。

<head>
    <meta http-equiv="refresh" content="3; url=@Url.Content("~/Incidents")">
</head>
<body> 
    <div>
        <p>
            <center>
                <a href="@Url.Content("~/Incidents")">View Incidents</a>
            </center>
        </p>
于 2013-07-10T10:58:26.047 回答