THX*_*138 6 asp.net-mvc asp.net-mvc-4
在asp.net mvc(4)中,开箱即用,视图进入Views文件夹,然后由子文件夹中的控制器分组.
控制器进入Controllers文件夹,(查看/编辑/输入)模型进入Models文件夹等.
我喜欢视图的组织方式.但是,我不喜欢水平地打破其余的MVC片段.
我的问题是,将视图组织结构保留为原样会有什么缺点,但是按控制器组合其他类(即通过用例).例如:
/Home
HomeController.cs
IndexViewModel.cs
IndexViewModelBinder.cs
/Messages
MessagesController.cs
MessagesApiController.cs
MessagesViewModelBinder.cs
MessageViewModel.cs
MessagesListViewModel.cs
/Views
/Home
Index.cshtml
/Messages
MessagesIndex.cshtml
MessageDetails.cshtml
Run Code Online (Sandbox Code Playgroud)
重要的是视图文件的排列,因为它们是在运行时访问的。其他所有内容都被编译到程序集中,因此它们的源文件的物理位置是无关的。
和你一样,我发现默认的安排对于较大的项目来说有点尴尬,所以这就是我布置当前项目的方式:
~/
/Areas
/DefaultArea // I always use areas, even when there's only one, because it simplifies things when adding additional areas.
/Controllers
FooController.cs
/Views
/Foo
FooView.aspx // Yes, I use WebFormView. Just a matter of personal preference
FooEdit.aspx
FooModels.cs // this file contains my ViewModels
Run Code Online (Sandbox Code Playgroud)
所以基本上,我将 ViewModel 类放在与视图相同的文件夹中,而不是将所有 ViewModel 放在一起(这不太符合逻辑)。我很想将我的控制器放在他们的视图文件夹中,但我决定不这样做。
到目前为止,我发现我的方法没有任何缺点(已经使用它近两年了)。
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |