ASP.NET MVC – MapRoute与routes.Add(和404s)

前端之家收集整理的这篇文章主要介绍了ASP.NET MVC – MapRoute与routes.Add(和404s)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始使用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方法中的两个变量从路由中获取

原文链接:/aspnet/253227.html

猜你在找的asp.Net相关文章