在ASP.NET MVC的文档中说,当在视图中有链接时,你应该做这样的事情
<a href="@href("~/SubPage")">Subpage</a>.
剃刀引擎将@href("~/SubPage")
替换为/Subpage
。
这样做有什么好处呢
<a href="/SubPage">Subpage</a>.
在这种情况下和其他情况下(如创建表单)为什么要使用剃刀引擎而不是直接写出你想要的东西。我认为在服务器端更快地打印一些让引擎生成它的东西。
答案 0 :(得分:24)
如果您的应用程序在子文件夹中运行,Razor @href将创建正确的链接:
www.myapp.com/subfolder/SubPage
如果您自己编写,您的链接将是这样的,并且不起作用:
www.myapp.com/SubPage
这是因为Razor会将您的应用程序根替换为~
。
答案 1 :(得分:2)
ActionLink
方法无法HTML
。
您需要制作一个普通的<a>
代码,并对@Url.Action(...)
使用href
。
<a href="@Url.Action("ActionName", "ControllerName")">Link Text</a>.
答案 2 :(得分:0)
我只是写
<a href="SubPage">Subpage</a>
我无法实现任何负面回退