这是一个好奇心,而不是我遇到的实际问题:ASP.NET MVC框架如何从RouteCollection中的字符串名称创建适当的控制器和视图对象?我已经尝试通过实际的ASP.NET MVC2代码来查找,但是在控制器工厂类中丢失了。ASP.NET MVC如何动态创建控制器和视图?
当我注册我的路线时,我将第一个块映射到控制器,第二个映射到一个动作,第三个映射到一个ID,但程序如何获取字符串名称和创建新对象?
/Users/Update/15354 = New UserController, executes Update() - how?
我能想象工作的唯一的事情是通过在项目中的所有类反映并创建一个符合要求的名字,但你将如何解决类名冲突不知道要使用的命名空间?
如果存在名称冲突,ASP.NET MVC将引发异常。 – Omar 2011-03-01 20:36:12
@Omar这不是那么简单。只有在发生名称冲突并且应用程序中定义的路由缺少显式名称空间时才会抛出异常。 – 2011-03-01 20:40:31