我最近开始研究ASP.NET MVC。我已经研究了很多例子,这些例子很常见,它们包含非常简单的场景,其中视图将映射到模型中的类型实例或模型中的paritcular类型列表。
我正在寻找撰写/合成视图的指南。从长远来看,我希望Ajax成为等式的一部分,但是现在我正在寻找一个更简单的非Ajax设置。
以下是对受到质疑的问题的描述。域模型包含 A 和 B 类型。
class A
{ String ID, String Name, int Age
List<B> ListOfB
}
class B
{ String ID, String Name, String Url}
我希望有一个允许以下内容:
视图不应该同时显示所有这些,而是必须根据用户输入显示信息和功能的不同组合。细节和功能的组合可以例如是:
这可能看起来像这样(使用balsamiq模型的网页版本 - 这是一个奇妙的发明!):
组合2:
组合4:
由于解决方案必须允许不同的数据和功能组合,我认为拥有包含占位符的父视图(不要与母版页混淆)是明智的。然后,父视图控制器可以组成模型数据和部分视图的正确组合,并将它们提供给父视图。
我的思维方式是否符合asp.net mvc方法?
你能解释/展示(不一定全部)控制器如何编译正确的部分视图组合并将它们提供给父视图吗?
您能指出我基于Ajax的解决方案吗?
您能否推荐包含复杂观点示例的图书/链接?
答案 0 :(得分:2)
asp.net mvc完全支持您的所有要求,但您应该加快速度:
您应该考虑实施视图模型,以帮助您从特定视图中分离您的域模型。 Here is a good link on how to start this.
您需要熟悉客户端javascript框架,以便使用部分html渲染进行ajax工作。 jquery会执行此操作或ms ajax。 Here is an example 强>
详细问题:
我的思维方式是否符合asp.net mvc方法论?
Asp.net mvc根本不会限制你,所以基本上完全支持
你能解释/展示(不一定全部)控制器如何编译正确的部分视图组合并将它们提供给父视图?
如果要分离出一些代码,可以使用部分视图,并且可以通过使用ms ajax或jquery独立加载它们来轻松刷新它们。您将拥有一个映射到父视图的控制器,并可以在ajax调用中委派和刷新部分视图。
您能指出我基于Ajax的解决方案吗?
jquery会执行此操作或ms ajax。 Here is an example 强>
您能否推荐包含复杂观点示例的图书/链接?
This link对此进行了很多讨论。