C# 特殊字符“/&引用;作为回信地址
当返回url为时,此代码位于控制器中的ActionResult函数中:C# 特殊字符“/&引用;作为回信地址,c#,asp.net-mvc,C#,Asp.net Mvc,当返回url为时,此代码位于控制器中的ActionResult函数中: RedirectToLocal("/"); “/”是什么意思? 找不到重定向到本地的任何文档 编辑1 好的,在同一个项目中找到了RedirectToLocal的定义,所以它不是我认为的内置函数: private ActionResult RedirectToLocal(string returnUrl) { if (Url.IsLocalUrl(returnUrl)) {
RedirectToLocal("/");
“/”是什么意思?
找不到重定向到本地的任何文档
编辑1
好的,在同一个项目中找到了RedirectToLocal的定义,所以它不是我认为的内置函数:
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
//If no returnURL is stored
return RedirectToAction("Index", "Home");
}
}
RedirectToLocal
方法是在AccountController
中的默认MVC模板中创建的。它是由模板构建的方法,默认情况下是该控制器的本地方法。这通常会被复制到一个基本控制器中,供其他控制器使用
AccountController
的目的是允许您在验证后重定向到相对URL(即返回您的来源地)。returnUrl
的值将采用/{controller}/{action}/{id}
的形式。您正在查看的特定行将重定向到路由表中定义的默认控制器/操作(这通常是Home/Index
)。RedirectToLocal方法是一种帮助器方法,可确保重定向的URL确实是本地地址。它可以帮助您保护您的站点免受跨站点脚本攻击,用户输入的URL可能会访问某些有害站点
重定向到
/
将带您进入网站的默认页面。这绝对是一个本地URL,因此RedirectToLocal(“/”
与RedirectToLocal(“/”)的作用相同。请提供有关您的问题的更多信息。在Visual Studio中按RedirectToLocal
上的F12
,您将更好地了解它的来源。真的!我认为它是一个内置函数,如View()。我的错。你说的“网站默认页面”是什么意思?你是说当前控制器的索引页?@MVC\u noob:它是站点的根页面。当你浏览到域名后没有任何内容的时候,你会看到相同的页面。这取决于你如何设置你的路线。这是有道理的。我猜这是“website_name.com/”@MVC_noob的缩写。有不同类型的URL。绝对URL:以协议开始,即http://www.google.com/index.html
。协议相对URL:以两个斜杠开头,即www.google.com/index.html
。路径相对URL:以一个斜杠开始,即。/index.html
。页面相对URL:以页面名称或点开始,即index.html
或/index.html
。Fragment:以#开头,在您的情况下不起作用,因为它不是真正的URL,但仅用于客户端,即#top
。