1

我的项目配置为使用项目 url aka “localhost/AppName/”,没有特定页面或任何内容,一切正常,但如果用户删除最后一个斜杠,我的 href 将停止工作,因为它忽略了“AppName”,所以对于例如,如果我有一个名为 Books/Index 的操作,如果用户删除最后一个斜杠“localhost/AppName”并按 Enter,然后单击链接以导航到书籍/索引,则完整路径将为“ localhost/Books/Index”这将不起作用,因为它在 localhost 之后缺少“AppName”。

我尝试更改路线并创建重写规则,但仍然没有运气.. 我不确定为什么会发生这种情况,这让我担心,我考虑过改变链接的生成方式,但我认为执行“/”会更好,对此的任何想法将不胜感激。

顺便说一句,我正在使用默认路由。

4

2 回答 2

0

有一些方法试图解决这个问题,你可以谷歌它,你可以尝试一些解决方案。但没有一个是完美的。

在我的选择中,真正的解决方法就是取消使用相对路径。在您的情况下,您不应该使用书籍/索引作为 href,而是应该始终使用 url 帮助程序来创建绝对路径。

这个问题的原因来自于asp.net的路由机制,所以根治就是停留在路由机制上。

于 2013-03-12T19:24:59.207 回答
0

其实我也有这个问题..我不确定这是否是正确的解决方案,但这对我来说很好!使用@Url.Action() 作为href ..

<a href = @Url.Action("ActionName","ControllerName")>
于 2013-09-06T13:22:26.120 回答