URL如何与MVC中的Controller类匹配?

时间:2013-11-08 21:53:28

标签: asp.net-mvc

假设我创建了一个名为Login的Controller,IDE会生成一个像

这样的文件
Public Class LoginController
    Inherits System.Web.Mvc.Controller
    '
    ' GET: /Login
    Function Index() As ActionResult
        Return View()
    End Function
End Class

所以,当我运行我的应用程序并输入以下URL

http://localhost:49599/Login

控制器触发,视图被提供等等。但哇这个单词“Login”是否连接到这个LoginController类?如果我想选择使用其他语言并且我想将“登录”更改为“Logzmein”,会发生什么。我怀疑资源文件应该介入某处。

1 个答案:

答案 0 :(得分:2)

这是ASP.NET MVC基于约定的设计的一部分。默认情况下,定义了将URL路由(或转换)为控制器操作方法的默认路由。

默认情况下,使用以下约定定义路径:

{controller}/{action}/{id}

所以给出这样的URL:

User/View/1

它像这样崩溃:

User{controller})映射到UserController控制器类。

User/View{controller}/{action})路由到UserController.View操作方法。

User/View/1{controller}/{action}/{id})路由到UserController.View操作方法,将1作为id参数传递。

您还可以定义自定义路由以创建自己的路由模式。

查看this article以获取概述或路由,因为在单个帖子中覆盖的内容太多了。