我们正在尝试为MVC应用创建两个视图。移动和网络
这是我们遵循的两个链接
创建了Account / Login.cshtml页面和Account / Login.Mobile.cshtml页面(具有不同的布局)。创建了默认路由
routes.MapRoute(
name: "DefaultMobile",
url: "mobile/{controller}/{action}/{id}",
defaults: new
{
mobile = true,
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
但问题是我们正在使用routes.MapMvcAttributeRoutes();
并生成\login
等网址。有没有办法强制mobile/login
获取移动视图。如果网址以' / mobile /'?
还是有其他办法吗?
答案 0 :(得分:1)
您应该能够使用属性路由指定2个路由定义,一个用于正常登录,一个用于移动
[Route("{type}/Login")]
[Route("Login")]
public ActionResult Login(string type = "")
{
var isMobile = String.Equals(type,"mobile",StringComparison.OrdinalIgnoreCase);
// to do : Return something
}