相对路径波浪号(〜)在ASP.NET MVC 4中不起作用

时间:2014-03-17 10:56:55

标签: asp.net-mvc-4 relative-path razor-2

当我在我的机器上运行项目时,它会在http://localhost:53998/上运行,但当我将其部署到http://test.myserver.com/MyApp/时,所有链接都会中断。我正在使用相对路径代字号(~),因此导航链接类似于:

<a href="~/SomeCtrl/Index">Some Action</a>

在localhost上,这工作正常(当root为/时),但是当我在/MyApp/下部署项目时,它将操作链接到http://test.myserver.com/SomeCtrl/Index而不是http://test.myserver.com/MyApp/SomeCtrl/Index,所以我总是得到404。

这不是代字号(~)应该照顾的吗?我在这里做错了吗?

修改

这是正常的:

@Html.ActionLink("Some Action", "Index", "SomeCtrl")

而且:

<a href="@Url.Action("Index", "SomeCtrl")">Some Action</a>

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我的答案就是我有一些URL重写设置,它们将波形路径更改为指向不同的文件夹。我不得不理清这些重写规则,这解决了我的问题。