我尝试在 Google 和 Stack Exchange 上搜索这个问题的答案,虽然它确实产生了一些关于该Href()
方法的文档(我之前看过的文档),但似乎关于这种方法的问题要么非常模糊,要么不存在,我仍然对为什么/何时真正使用它感到困惑。
MSDN 文档: http: //msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase.href (v=vs.111).aspx
通过这个文档,我可以看出它从相对路径构建了一个绝对 url。
我的问题是:
- 为什么我需要这样做?
- 相对路径不应该在测试环境之外甚至在 Web 服务器上正常工作吗?
- 我是否应该更改站点中的每一个相对路径以合并该
Href()
方法?(例如:更改Context.RedirectLocal("~/")
为Context.RedirectLocal(Href("~/"))
) - 考虑到 ASP.NET 网页环境,使用此方法的最佳实践是什么?
我很抱歉对看似如此简单的事情感到如此困惑,但我不想让我的网站上线却发现它被破坏或存在安全漏洞(第一印象可能是杀手)。