在这里与社区联系,寻求最佳实践/最佳实施问题。
我在一个主要项目中使用MVC3,MVC3站点将在一个解决方案中处理我们的完整站点以及我们的移动站点。我创建了一个自定义视图引擎来处理将移动请求映射到适当的移动视图。
最近出现的一项要求是在网站的移动部分上设置“完整网站”链接,以允许移动用户查看整个网站(实际上可以来回切换)。
任何人对可能的快速解决方案有任何见解或做过类似的事情吗?
我的移动视图有一个单独的布局文件(母版页),显示“完整网站”链接。
提前感谢任何可能的答案。
答案 0 :(得分:3)
你可以采取几种不同的方式。一些想法:
答案 1 :(得分:1)
这应该是一个确定的参数,视图引擎需要知道用户的偏好。因此它会像现在一样选择默认视图,但如果用户首选项与默认选项不匹配,则检查一些参数。
Cookie,网址参数......
答案 2 :(得分:0)
也许我误解了你的问题,但是如果你问如何链接网站的两个“版本”,那么它是否会像拥有两个Areas
那样“简单”?
每个区域将定义自己的路线,移动区域开始路线,例如:
context.MapRoute(
"Mobile_Default",
"mobile/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
因此从一个区域链接到另一个区域非常容易:
@Html.ActionLink("non-mobile site", "index", "home", new { area = "" }, null)
反之亦然:
@Html.ActionLink("Mobile site", "index", "home", new { area = "mobile" }, null)