我尝试搜索Google和Stack Exchange以获得这个问题的答案,虽然它确实产生了一些关于Href()
方法的文档(我以前见过的文档),但这个方法的问题似乎都很模糊或不存在,我仍然对为什么/何时真正使用它感到困惑。
MSDN文档: http://msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase.href(v=vs.111).aspx
我可以通过这个文档告诉它从相对路径构建一个绝对URL。
我的问题是:
Href()
方法吗? (示例:将Context.RedirectLocal("~/")
更改为Context.RedirectLocal(Href("~/"))
) 我为那些看起来如此简单的东西感到困惑而道歉,但我不愿意让我的网站只是为了发现它已被破坏或有安全漏洞(第一印象可能是一个杀手)。< / p>
答案 0 :(得分:3)
如果您正在使用网页1,并且希望确保虚拟路径始终正确映射到绝对URL,则可以显式使用该方法。在Web页面2中,如果解析器在cshtml文件的url中遇到波形符(〜),则框架会调用Href方法,例如。
<script type="text/javascript" src="~/Scripts/jquery.js"></script>
如果没有明确使用Href方法或波形符号,路径可能无法正确解析?如果您更改托管,例如,如果您的站点的根路径结构发生更改,则可能无效。如果您的内部文件夹结构更改,或者您移动文件,它也可能无法正常工作。如果不太可能发生这种情况,您可能不必担心使用该方法。在用波浪号替换Href方法之前,我不倾向于使用它。现在我总是使用它,因为它更容易使用,我宁愿在每个网址上添加一个额外的按键,而不是在将来的某个阶段抱歉。
您可以在此页面的一半左右找到有关Href的更多信息:http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-using-the-razor-syntax