servicestack Razor页面,元刷新中的相对路径未正确提供

时间:2013-07-10 09:05:59

标签: servicestack

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

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

在旧版本中,metarefresh和href都被WebHostUrl取代。所以两者都是

 http://server/baseurl/Incidents.

在较新的版本中,似乎只有href。所以metarefresh不再起作用了。它会刷新

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>

AppHost.cs

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

1 个答案:

答案 0 :(得分:2)

问题是~无效html或有效网址。但您可以使用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>