Asp.net mvc URL如何匹配MVC中的控制器类?
假设我创建了一个名为Login的控制器,IDE会生成一个类似Asp.net mvc URL如何匹配MVC中的控制器类?,asp.net-mvc,Asp.net Mvc,假设我创建了一个名为Login的控制器,IDE会生成一个类似 Public Class LoginController Inherits System.Web.Mvc.Controller ' ' GET: /Login Function Index() As ActionResult Return View() End Function End Class 因此,当我运行我的应用程序并输入以下URL时 http://localhost:
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
控制器启动,视图被服务,等等。但是“登录”这个词连接到这个LoginController类了吗?如果我想选择使用不同的语言,并且我想将“Login”更改为“Logzmein”,会发生什么。我怀疑某个地方应该涉及到资源文件。这是ASP.NET MVC基于约定的设计的一部分。默认情况下,存在定义的默认路由,用于将URL路由(或转换)为控制器操作方法 默认情况下,使用以下约定定义管线:
{controller}/{action}/{id}
因此,给定如下URL:
User/View/1
它是这样分解的:
User/View/1
User
({controller}
)映射到UserController
控制器类
User/View
({controller}/{action}
)路由到UserController.View
操作方法
User/View/1
({controller}/{action}/{id}
)路由到UserController.View
action方法,作为id
参数传入1
您还可以定义自定义布线来创建自己的布线模式
请查看概述或路由,因为一篇文章中涉及的内容太多。所以按照惯例,“Controller”一词总是作为类名的一部分使用?是的,没错。这是ASP.NET MVC约定的一部分。通过使用
Controller
和特定文件夹(在Controllers
文件夹下)命名类,MVC将根据这些默认路由找到它们。