asp.net-mvc – 命名约定 – 控制器的一个规则,没有模型和视图的规则
|
在ASP.NET中,MVC控制器存在于名为Controllers的文件夹中.他们的名字必须结束控制器,否则事情就是不起作用(你得到HTTP 404错误). 但是,模型名称不必结束模型和视图名称不必以View结尾. 这似乎不一致……为什么(从MVC或设计的角度来看)控制器名称必须结束控制器? 其他MVC框架是否有此要求? 编辑 由于这似乎是惯例,我不主张反对它(见Convention over Configuration!),但我想了解背后的原因. 解决方法控制器约定是这样的路由可以很容易地找到控制器而无需额外配置.添加所需的Controller结尾使您不太可能通过MVC路由意外地暴露对象.视图中还有一个内置的约定.默认情况下,视图应位于为控制器命名的文件夹中,并且与调用它们的操作命名相同,这使得方法调用操作中的View()可以在不指定视图的情况下工作.我经常发现自己指定了视图,但是如果你正在寻找一个约定,那么这绝对是框架所鼓励的约定. 从模型的角度来看,你是对的,没有标准惯例.这是因为ASP.NET MVC框架永远不会直接触及模型.它需要控制器从路由中找到它们的约定,并且它需要一个视图约定来从控制器中找到它们……但模型只能从控制器中的逻辑访问,因此框架不需要知道它们. 话虽这么说,我看到大多数人建立他们的模型就像他们在MVC之前构建他们的实体或Domain模型一样.如果您正在使用活动记录模式,则将模型命名为与它们映射到的表对应,如果您更关注域,则将模型命名为与它们正在建模的域的部分相对应.此外,我看到越来越多的人创建了一组视图模型,这些模型仅用于向UI呈现数据,并通过从域中的各种模型中提取部分来创建.模型绝对是ASP.NET MVC中最不具意见的部分,但这是一件好事,因为人们有非常不同的方式在这个领域工作. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – DropDownListFor在编辑视图上不重复的项目(
- .net核心中的ServicePointManager.DefaultConnectionLimit?
- asp.net – IE10中的LinkButtons不执行回发
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10
- asp.net-mvc – 有没有办法重命名RequestVerificationToken
- asp.net-mvc – 无法在Web服务器上启动调试. Web服务器找不
- asp.net-mvc – MVC“添加控制器”是“无法检索元数据…配置
- asp.net全局资源错误’找不到具有键”的资源对象’
- asp.net-mvc – 如何将ASP.Net MVC路径段中的1或0映射到布尔
- asp.net-mvc – 使用ASP.Net MVC中的模型绑定器更新父/子记
- asp.net-mvc – ASP.NET捆绑/分类:包括动态生成
- asp.net – ResolveUrl / Url.Content在Classic
- asp.net-mvc – 奇怪的错误w / NinjectValidator
- 从asp.net mvc生成PDF文件
- asp.net – 网站随时随地突破
- asp.net 文件下载功能函数代码整理
- asp.net – 什么时候Response.IsClientConnected
- asp.net – Windows应用程序与Web应用程序开发
- Asp.net(C#)读取数据库并生成JS文件制作首页图片
- asp.net core标签助手的高级用法TagHelper+Form
