假设我创建了一个名为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”,会发生什么。我怀疑资源文件应该介入某处。
答案 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以获取概述或路由,因为在单个帖子中覆盖的内容太多了。