是否有任何最佳实践涵盖了应该定义ASP.NET MVC模型的地方?
一个新的ASP.NET MVC项目有一个很好的模型文件夹供他们使用,但在生产环境中,他们可以来自其他地方:
强类型视图是否可以使用在这样的位置定义的类?
答案 0 :(得分:6)
在几乎所有我参与ASP.NET MVC模型的项目中,View模型都比传统意义上的模型更多。我还没有一个项目,我可以使用我在View模型的数据访问中使用的相同模型。大多数页面上都需要显示太多其他信息。因此,我会将我的模型存储在模型文件夹中,或者将它们存储在一个单独的库中,并与我的所有其他MVC特定类一起存储。
答案 1 :(得分:2)
我不知道将模型放在WCF服务中是什么意思。如果您的意思是使用WCF服务来公开您需要的模型对象,那就可以了。
关于用于保存模型,视图和控制器的单独类库,我认为这是一种非常常见的方法并且运行良好。事实上,我相信当应用程序的大小和复杂性增加时,这确实是一个要求。它是MVC应用程序中不同逻辑组件的物理分离。
答案 2 :(得分:0)
我发现的一个问题是,除非在Web项目中定义了模型,否则当使用标记中指定的强类型视图时,VisualStudio似乎无法找到它。我的模型通常在一个单独的项目中定义,我发现要使用强类型视图,我需要创建一个代码隐藏,以便我有一个派生自强类型ViewPage的类。然后我更改标记并将其与此类关联。
答案 3 :(得分:0)
您需要将命名空间导入视图页面。 不需要代码隐藏页面。
使用指令
<%@ import namespace='your.namespace.here' %>
紧接在<@ Page.....
指令