Asp.net mvc 4 如何设计MVC4项目以满足Url重写和不同平台/浏览器的需要
我希望创建一个MVC4项目,该项目需要能够支持URL重写,并能够根据设备(如台式PC、手机或平板电脑)返回和呈现不同的视图 比如, URL重写 基本上,对于每个视图,而不是产品(通过ID来显示数据),我希望URL的内容类似于www.mydomain.com/my-Product-name/,而不是www.mydomain.com/ProductView/?ID=12345 响应性移动设计 因此,当访问www.mydomain.com/my-product-name/页面时,如果是客户端请求,我希望返回的视图是设计用于在桌面浏览器上运行的视图。或者,如果是在移动电话上,则会显示基本视图Asp.net mvc 4 如何设计MVC4项目以满足Url重写和不同平台/浏览器的需要,asp.net-mvc-4,mobile,url-rewriting,Asp.net Mvc 4,Mobile,Url Rewriting,我希望创建一个MVC4项目,该项目需要能够支持URL重写,并能够根据设备(如台式PC、手机或平板电脑)返回和呈现不同的视图 比如, URL重写 基本上,对于每个视图,而不是产品(通过ID来显示数据),我希望URL的内容类似于www.mydomain.com/my-Product-name/,而不是www.mydomain.com/ProductView/?ID=12345 响应性移动设计 因此,当访问www.mydomain.com/my-product-name/页面时,如果是客户端请求,我希
有人能提供一些示例或有用的文档供参考吗?显然,您对MVC4的阅读并不多,因为您提到的内容是MVC4的关键特性 首先,MVC4不需要URL重写。它使用友好的url的开箱即用,就像你想要的,无需重写 其次,MVC4使用移动模板,允许您为不同的移动设备定义不同的视图,它将根据查看视图的设备自动选择正确的视图 我建议你读一下:
1。对于友好URL: 无需重新编写Url,一条
路线就足够了:
routes.MapRoute(
"ProductPage", // Route Name
"{product*}", // Url Pattern
new { controller = "Products", action = "Info", product = UrlParameter.Optional},
);
看
2。对于每个设备的自定义视图:
MVC 4引入了显示模式提供程序
,允许您根据选择从HTTP请求中提取的任何条件确定要使用的视图文件,例如:
DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("iPad")
{
ContextCondition = (context => context.Request.UserAgent.Contains("ipad"))
});
请参见正确,我对MVC非常陌生