Routing-MVC-ASP.NET

Har*_*ala 4 asp.net-mvc

在大多数文章中,他们提出了这些代码并对其进行了解释,但我觉得我没有得到它.任何机构都可以用简单的方式来解释它.

这个问题看起来很简单但我无法理解我的想法.

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults

        );
Run Code Online (Sandbox Code Playgroud)

我的问题:

为什么我们使用route.IgnoreRoute和为什么{}中的参数?

Maproute有第一个参数 - 默认,类似于什么,第二个参数 - "{controller}/{action}/{id}",这个和第三个参数是什么,我们使用new?

我如何代表这些路由?

为什么这些?

到目前为止我使用过webforms并且无法进入它?

MVC中的任何大师都可以解释所有这些吗?

det*_*lor 5

为什么我们使用route.IgnoreRoute

这告诉路由忽略与提供的模式匹配的任何请求.在这种情况下,忽略对axd资源的任何请求.

为什么{}中的参数?

{}表示该分隔的字符串是一个变量.在ignore路由中使用它,以便匹配任何.axd请求.

Maproute有第一个参数 - 默认,它类似于什么,

第一个参数是路径名称.这可以在按名称引用路由时使用.它可能null是我倾向于使用的.

第二个参数 - "{controller}/{action}/{id}",这是为了什么

这是匹配的模式.在这种情况下,它设置默认路由,该路由是由控制器名称,操作名称和可选ID形成的URL.url http://mysite.com/Foo/Bar将调用控制器Bar上的方法Foo.更改url http://mysite.com/Foo/Bar/1将传递带有标识符id和值的参数1.

和第三个参数,

第三个参数提供默认值.对于默认路由,默认控制器名称为Home默认操作,默认操作为Index.结果是请求http://mysite.comIndexHome控制器上调用该方法.id路径的一部分被指定为可选的.

我们用新的?

所述new关键字被使用在.NET Framework的3版中引入的对象初始化语法创建对象.微软文章.

使用路由的主要优点是它为您的URL创建了一个约定.如果你创建了一个名为的新控制器Account和调用的动作方法Index,Review那么这些方法分别可用于/AccountAccount/Review.