我们有一个 MVC 站点,我现在正在向其中添加移动视图,并使用 jquery mobile 进行了优化。所有控制器和模型将保持不变。
因此,假设您有一个返回视图的典型控制器:
public virtual ActionResult CustomerProfile()
{
return View(CurrentCustomer);
}
我想检查一下是否设置了会话变量IsMobileView == true,如果是这样,我希望它返回相同的视图名称...除了 aspx 文件名中的后缀“_Mobile”。
因此,在上述情况下,假设我们使用属性 [SupportsMobile] 装饰方法,如果设置了会话变量,它将使用“CustomerProfile_Mobile.aspx”作为视图。如果它不 [SupportsMobile] 或会话未设置为移动模式,它应该只返回 CustomerProfile.aspx 正常。
这也需要与语法return View("CustomerSearch", model)一起使用,如果条件正确,它将返回 CustomerSearch_Mobile.aspx。
我该如何办理这张支票?我显然可以覆盖控制器中的各种动作事件,但我需要拦截视图加载的位置。
提前致谢!詹姆士。