我已经按照 MSDN 上的教程进行操作,它们(据我所见)似乎都使用 @Href()
对于 URL。例如
<a href="@Href("~/")">Some link</a>
但我记得几个月前在这里读到使用 Server.MapPath() 更安全,例如
<a href="@Server.MapPath("~/")">Some link</a>
因为它将它转换为完整路径,这意味着您不能编辑底层代码来更改表单提交到的位置(或类似的东西)。这是真的吗?
我应该使用 Href()
吗?或 Server.MapPath()
?哪个更好,为什么?
最佳答案
更安全?我不明白为什么 - 但我不会在 Razor 中使用它们。原因如下:
据我所知,Href
功能是从ASP.NET 1.0时代开始的。 在执行 WebForms 时 (!) 代码,您只需粘贴 ~-URL <a href="~/" runat="server">Some link</a>
.
但是,如果您正在做 ASP.NET MVC(我假设您正在做,因为您正在使用 Razor),您应该使用 Url.Content()
适合 Url.Action()
名字明智。
关于c# - Server.MapPath VS。 @Href ("~/SomeFile.cshtml"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236667/