我已经将我的mvc站点成功地应用于移动和非移动浏览器中;但是我遇到的问题是,我有一些Actions(出于日志记录的原因)我不想执行return RedirectToAction(...);
,所以我一直在使用return View("OtherView", model);
,这个方法在非移动设备上可行,在移动设备上就会出现找不到OtherView.Mobile.cshtml的情况。有什么办法能够解决这个问题吗?
这些是视图。
Views/Account/Create.cshtml
Views/Account/Create.Mobile.cshtml
Views/Account/CreateSuccess.cshtml
Views/Account/CreateSuccess.Mobile.cshtml
这是操作。
public ActionResult Create(FormCollection form)
{
TryUpdateModel(model);
if(!ModelState.IsValid) { return View(); } // this works correctly
var model = new Account();
var results = database.CreateAccount(model);
if(results) return View("CreateSuccess", model); // trying to make this dynamic
return View(model); // this works correctly
}
通常情况下,我只需执行
return RedirectToAction(...);
即可转到帐户详细页面,但这将生成额外的日志记录(用于读取此用户)以及详细页面无法访问密码。由于ActionResult Create
最初具有密码,因此它可以向用户显示密码以供确认,然后再次不可见。明确一点,我不想执行
if (Request.Browser.IsMobileDevice) mobile else full
,因为我可能会为iPad或其他设备添加另一组移动视图。Views/Account/Create.cshtml
Views/Account/Create.Mobile.cshtml
Views/Account/Create.iPad.cshtml
Views/Account/CreateSuccess.cshtml
Views/Account/CreateSuccess.Mobile.cshtml
Views/Account/CreateSuccess.iPad.cshtml