Я работаю над приложением ASP.NET MVC 4. Я использую/изучаю SimpleMembershipProvider и пытаюсь придерживаться логики по умолчанию, созданной VS2012
с помощью Internet template
(если я не ошибаюсь, тот, у кого есть SimpleMembershipProvider).
Я застрял в AccountController
, где я просто не могу понять, как именно я могу использовать этот метод:
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
Из того, что я понимаю, вся идея состоит в том, чтобы перенаправить на место, из которого вы решили войти (именно то, что я хочу выполнить). Я посмотрел, как он используется в представлении:
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
Найдите место, где на самом деле ViewBag.ReturnUrl
задано какое-то значение, и я получил этот метод только здесь:
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
и я очень запутался в том, как именно я должен получить местоположение /url. Я установил некоторые точки останова, и я никогда не видел, чтобы returnUrl
был чем-то отличным от null
, который в этом сценарии кажется мне довольно логичным, так как он нигде не получает значения (если не пропустить что-то, конечно).
Так что я действительно не могу понять, как эта работа. Я публикую выше, чтобы показать, что я пытался сделать домашнее задание, я расследую столько, сколько мог, но я не нашел ответа, поэтому я прошу здесь. Не могли бы вы дать объяснение/пример того, как это работает?