【发布时间】:2013-03-20 09:53:19
【问题描述】:
我有一个一直在思考的问题。
从我在浏览器中输入 URL 并单击 enter 到相应控制器中的代码实际执行时会发生什么?
假设我有一个 asp.net mvc 应用程序和一个像这样的普通控制器:
public class HomeController : Controller
{
public ActionResult About(int id = 25)
{
//code
}
}
因此,如果我像 myUrl/home/about?id=56 这样输入,该控制器就会被调用。我知道默认情况下声明了像{controller}/{action}/{id} 这样的路由模式。但是,如果一个 URL 匹配该模式是一个控制器实例然后创建或者会发生什么?是否有一些解析器类或类似的?是否存在包含所有控制器的列表,因此 URL 中的“主页”与 HomeController 匹配?
我知道控制器签名中的 id 参数将在模型绑定的帮助下绑定到请求上下文中相应的 id 值。但是这里肯定还有很多其他的魔法发生。
希望有人可以帮助一个新困惑的 asp.net mvc 用户
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing