Я пытаюсь использовать другую страницу входа для приложения Asp.Net MVC, которое модифицировано для мобильных устройств, в первую очередь iPhone / Android. Все, что мне в основном нужно, - это изменить вид входа в систему, потому что фактический контент находится в определенной части приложения, я не пытаюсь сделать мобильную версию всего сайта.
Итак, я попытался следовать этому: http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application
Но я недостаточно хорошо знаю аутентификацию, чтобы точно знать, как выполнять действия при входе в систему для мобильной версии. Я чувствую, что, возможно, мне не хватает определенного действия для мобильного поста, и я не понимаю, что делать с URL, переданным в перенаправлении. Вот что у меня так далеко:
public ActionResult LogOn()
{
string returnUrl = Request.QueryString["ReturnUrl"];
if ((returnUrl != null) && returnUrl.StartsWith("/Mobile/",
StringComparison.OrdinalIgnoreCase))
{
return RedirectToAction("LogOnMobile", "Account",
new { ReturnUrl = returnUrl });
}
return View();
}
public ActionResult LogOnMobile(string returnurl)
{
return View();
}
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
И это не работает. Я попадаю на страницу входа в систему для мобильных устройств (или на самом деле до сих пор я только что попробовал, чтобы метод действия работал, закомментировав предложение if), но когда я пытаюсь войти в систему, я просто снова попадаю на ту же страницу, но странным образом без поля ...
Что мне нужно сделать, чтобы заставить это работать?