我的 mvc 网站在移动和非移动浏览器上运行良好;我遇到的问题是这个。我有几个操作(出于日志记录的原因)我不想做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