在ASP.NET MVC的文档中说,当视图中有链接时,应执行以下操作
<a href="@href("~/SubPage")">Subpage</a>.
剃须刀引擎将
@href("~/SubPage")
替换为/Subpage
。这样做的好处是什么
<a href="/SubPage">Subpage</a>.
在这种情况下以及在其他情况下(例如创建表单),为什么要使用剃刀引擎而不是直接写您想要的东西。我认为在服务器端直接打印可以让引擎生成它的东西更快。
最佳答案
如果您的应用程序在子文件夹中运行,Razor @href将创建正确的链接,如下所示:
www.myapp.com/subfolder/SubPage
如果您自己编写,则链接将如下所示,将无法正常工作:
www.myapp.com/SubPage
那是因为
~
将被Razor替换为您的应用程序根目录。关于asp.net-mvc - Razor 替换的优点(@href),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9407287/