【发布时间】:2011-08-18 20:03:18
【问题描述】:
我正在尝试为经过修改以适应移动设备(主要是 iPhone/Android)的 Asp.Net MVC 应用程序使用不同的登录页面。我基本上只需要修改登录视图,因为实际内容在应用程序的特定部分,我并不是要制作整个网站的移动版本。
所以我试着关注这个: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 子句来尝试操作方法),但是当我尝试登录时,我只是再次进入同一页面,但奇怪的是没有字段...
我需要做什么才能让它工作?
【问题讨论】:
标签: asp.net asp.net-mvc-3 mobile redirecttoaction