我刚刚开始使用ASP.NET MVC。
MapRoute和routes.Add有什么区别?
我应该使用MapRoute吗?可以映射多条路线吗?哪个“地图”优先…你叫做第一个还是最后一个?
我想要能够为用户做类似StackOverflow的事情。
但是我希望URL适合此模式:
“User / {domain} / {username}”将路由到UserController
并且对于所有其他请求来执行典型的ASP.NET MVC路由。例如:
routes.MapRoute( "Default","{controller}/{action}/{id}",new { controller = "Home",action = "Index",id = "" } );
更新:
使用URL:http://localhost:3962/User/MYDOMAIN/BTYNDALL
我收到错误:HTTP 404.您正在寻找的资源(或其一个依赖关系)可能已被删除,名称已更改或暂时不可用。
这是我使用的代码:
public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "User","User/{domain}/{username}",new { controller = "User",action = "Index" } ); routes.MapRoute( "Default",id = "" } ); } protected void Application_Start() { RegisterRoutes(RouteTable.Routes); } }
解决方法
您的用户控制器应该有
public class UserController : Controller { public ActionResult Index(string domain,string username) { return View(); } }
用户控制器的Index方法中的两个变量从路由中获取。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。