Asp.net 我怎样才能删除“;控制员;从MVC3中我的控制器的名称?
因此,MCV3的工作方式是通过路由定义要调用的控制器。该控制器是“myControllerName”+“controller” 现在该类已经位于名为controllers的文件夹中。我不想在我的班名后面有这样的装饰。这并不是什么贡献Asp.net 我怎样才能删除“;控制员;从MVC3中我的控制器的名称?,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,因此,MCV3的工作方式是通过路由定义要调用的控制器。该控制器是“myControllerName”+“controller” 现在该类已经位于名为controllers的文件夹中。我不想在我的班名后面有这样的装饰。这并不是什么贡献 我想知道如何改变这一点,并进一步了解MVC3内部的情况。控制器后缀被认为是MVC的约定(有关约定优于配置方法的一些详细信息,请参见此处),它具有价值,因为它为所有MVC项目提供了一致的结构。此外,它还描述了MVC模式中类的功能 MVC非常注重约定,如果您想了解更多关
我想知道如何改变这一点,并进一步了解MVC3内部的情况。控制器后缀被认为是MVC的约定(有关约定优于配置方法的一些详细信息,请参见此处),它具有价值,因为它为所有MVC项目提供了一致的结构。此外,它还描述了MVC模式中类的功能
MVC非常注重约定,如果您想了解更多关于配置的信息,可以看看ASP.NETWebForms,简短的回答是:不用麻烦了。这是按惯例配置(也称为惯例优于配置,CoC),如果你只是顺其自然,让MVC做它想做的事,你会过上更快乐、更健康、没有压力的生活 较长的答案是将自定义控制器工厂注入MVC管道以覆盖默认的控制器工厂。可以找到该过程的完整描述,但本质上,您:
应用程序\u Start
事件中,调用将默认控制器工厂替换为您自己的另外,我一开始忘了提到,但是如果你真的对MVC的本质感兴趣,那么整个框架都是开源的(在APL下),你可以找到它,文件夹名只对你个人有用。编译器不在乎,它全部被编译到一个DLL中,而文件夹是不相关的(尽管默认情况下它确实被放入带有“控制器”的命名空间中)。文件夹根本不会上载到最终站点 因为该文件夹在服务器上不存在,所以不能让框架假定它是控制器,因为它在Controllers文件夹中。它就是不能那样工作,也没有任何方法可以让它那样工作(同样,因为服务器上不存在Controllers文件夹) 将事物命名为xxxController的惯例是使事情变得更简单。如果您不想遵循MVC规定的约定,那么MVC可能不是适合您的框架。如果你想与潮流抗争,那只会让你的生活更加困难
这就像抱怨你不喜欢用.cs扩展名命名你的C Sharp文件,或者你不喜欢用.aspx命名你的Webforms表单 这正是我想要的答案中的深度。如果你真的想了解MVC内部的情况,请参阅我的编辑以获得指向源代码的链接。