在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/

10-12 07:04