Ale*_*lex 7 c# asp.net asp.net-mvc asp.net-mvc-routing
从ASP.NET MVC中,是否可以基于访问设备/浏览器路由到不同的控制器或操作?
我正在考虑为我的网站的某些部分设置替代操作和视图,以防从iPhone访问它,以优化它的显示和功能.我不想为iPhone创建一个完全独立的项目,因为大多数网站在任何设备上都可以.
有关如何做到这一点的任何想法?
最好的选择是自定义操作过滤器。
你所要做的就是继承自ActionMethodSelectorAttribute并覆盖该类IsValidRequest。
public class [IphoneRequest] : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
{
// return true/false if device is iphone
Run Code Online (Sandbox Code Playgroud)
然后在你的控制器中
[IphoneRequest]
public ActionResult Index()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |