复杂页面的MVC模型

时间:2011-04-17 17:41:43

标签: asp.net-mvc

我正在开发一个ASP.Net MVC项目。我的索引页面与facebook类似,这意味着用户可以编写消息,但也可以看到他/她的朋友的消息,并显示他的朋友列表。这意味着有两个输出和一个输入。

我的这个页面的模型应该如何?让一个IndexModel包含所有消息列表(List),所有朋友列表(List)和InputMessage类是一个好主意吗? 或者我应该为每个模型编写一个模型并将它们放在一个ViewModel中?

由于

3 个答案:

答案 0 :(得分:1)

您最好的选择是将朋友列表,消息列表或两者分成他们自己的部分视图。然后,如果您不希望让一个控制器操作为它们生成数据,您可以为每个控制器操作创建操作,并使用Html.RenderAction来显示它们。

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.childactionextensions.renderaction.aspx

答案 1 :(得分:0)

如果我是正确的,那么您的网页将具有静态(朋友列表)以及动态(消息列表)内容。我建议你有一个强类型视图,你的模型包含所有静态内容,包括朋友列表,例如IEnumerable的。

对于消息,使用jQuery-template功能创建partail视图。将模板定义为如何显示消息,将模板与原始json数据绑定(基本上包含您的消息),并将此部分视图嵌入到强类型视图中。

可以重复使用部分视图,因此明天您可以使用相同的视图在应用程序中显示其他位置的消息。

有关如何使用jQuery模板进行设计的更多信息:https://github.com/nje/jquery-tmpl/wiki/List-of-jQuery-tmpl-articles-and-tutorials

答案 2 :(得分:0)

朋友和消息是两个不同的问题所以他们必须处于不同的ActionResults中,无论你打算如何在以后显示它们(使用模板或其他东西)