2014-02-04 4 views
2

Этот код находится в функции ActionResult в контроллере, когда возвращение URL является:специальный символ «/», как обратный адрес

RedirectToLocal("/"); 

Что «/» означает? Не удалось найти документацию для RedirectToLocal.

Edit 1

Хорошо, нашел определение RedirectToLocal в том же проекте, поэтому его не встроенная функция, как я подумал:

private ActionResult RedirectToLocal(string returnUrl) 
    { 
     if (Url.IsLocalUrl(returnUrl)) 
     { 
      return Redirect(returnUrl); 
     } 
     else 
     { 
      //If no returnURL is stored 
      return RedirectToAction("Index", "Home"); 
     } 
    } 
+0

Дайте дополнительную информацию о вашей проблеме. –

+0

Нажмите 'F12' на' RedirectToLocal' в Visual Studio, и у вас будет лучшее представление о том, откуда оно взялось. – Vache

ответ

1

Метод RedirectToLocal - вспомогательный метод, который гарантирует, что URL-адрес перенаправления действительно является локальным адресом. Он помогает защитить ваш сайт от атак с использованием межсайтовых скриптов, где URL-адрес, введенный пользователем, может перейти на какой-то вредоносный сайт.

Перенаправление на / приведет вас к странице по умолчанию на сайте. Это, безусловно, локальный URL, поэтому RedirectToLocal("/") делает то же самое, что и Redirect("/").

+0

Что вы подразумеваете под «страницей по умолчанию сайта»? Вы имеете в виду страницу индекса текущего контроллера? –

+0

@MVC_noob: Это корневая страница сайта. Те же страницы, на которые вы попадаете, когда просматриваете только имя домена без каких-либо изменений после него. Это зависит от того, как вы настроили свои маршруты. – Guffa

+1

Имеет смысл. Я предполагаю, что это сокращение для "website_name.com/" <--- "/" –

0

Метод RedirectToLocal создается в шаблон MVC по умолчанию в AccountController. Это был метод, построенный по шаблону, и по умолчанию по умолчанию -. Это часто копируется в базовый контроллер, который может использоваться другими контроллерами.

Целью в AccountController было позволить вам перенаправить на относительный URL-адрес после аутентификации (т. Е. Вернуться туда, откуда вы пришли). Значение returnUrl будет в форме /{controller}/{action}/{id}. Конкретная строка, на которую вы смотрите, будет перенаправлена ​​на контроллер или действие по умолчанию, определенную в вашей таблице маршрутизации (обычно это Home/Index).

+0

Действительно! Я думал, что это встроенная функция типа View(). Моя вина. –

Смежные вопросы