我试图通过谷歌和Stack Exchange寻找有关此问题的答案,虽然它确实提供了一些关于Href()方法的文档(我以前也看到过),但似乎关于这个方法的问题要么非常难找,要么就是不存在。我仍然困惑于为什么/何时真正使用它。
MSDN文档: http://msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase.href(v=vs.111).aspx
从这份文档中,我可以看出它会从相对路径生成绝对URL。
我的问题是:
- 为什么需要这样做?
- 相对路径在测试环境外和Web服务器上都应该可以正常工作,不需要用Href()方法,是吗?
- 是否应该将站点中的每一个相对路径都更改为包含Href()方法? (例如:将Context.RedirectLocal("~/")更改为Context.RedirectLocal(Href("~/")))
- 在考虑ASP.NET Web页面环境下使用此方法时,最佳实践是什么?
很抱歉我如此困惑于这个看起来很简单的事情,但我不想发现我的网站已经上线却出现问题或安全漏洞(第一印象是致命的)。
.cshtml
文件中,我也不会使用波浪线,除非它出现在C#函数内部。既然它在一个.cshtml
文件中,我可以从你的示例中看到包含它们可能是有益的。这是你推荐的吗? - VoidKing