2010-05-13 86 views
0

我是ASP.NET MVC2中的新成员。但我想开发一个简单的通讯站点。卡住我的主要问题是如何正确使用新闻详情和评论列表中的MVC模式。需要关于ASP.NET MVC2的新闻通讯项目

例如:

我有一个NewsController和行动详细内。和两个模型类新闻评论。 我想显示属于此新闻记录和textarea的所有评论以添加新评论。 我的魔杖在/新闻/详细信息/

这个内容我怎么办?我在详细信息视图中尝试使用部分视图:一个用于添加注释,另一个用于注释列表。我已通过评论对象彻底ViewData [“Comment”]。但我有我的模型问题(认为我不能使用视图中的两个模型)

再次。如何使用ASP.NET MVC2在单个页面上显示Single Post + Comments +添加评论视图?

另一个例子是stackoverflow.com。这是一个问题+答案+写回答。我需要相同的结构

回答

1

@ ck3g,不要担心它实际上比你想象的更容易。

首先,您可以将两个模型传递给视图。你只需要把它们包装到第三课,然后再把第三课传回到视图中;

  • 类A(){}
  • 类B(){}
  • C类(){公共甲一个;公共B b}

将C类传递给您的视图。

如果B类是你的所有评论,那么我会有一个局部视图,拿B作为它的模型。然后,我会对该模型进行一次foreach并调用另一个局部视图来呈现单个评论。这使得以后更容易造型和重构。

我也会将局部视图包裹在它自己的div中,以便在ajax调用之后可以替换内容。

要添加评论,我会再次有一个局部视图,当你按下提交按钮时,我会对actionresult执行jquery调用,保存评论,然后重新读取数据库中的所有评论。然后,在你的C#代码中,使用RenderPartial("partialviewname", commentsModel);将部分视图返回给jquery调用。

一旦你回到javascript的土地,你可以用新的html替换你之前创建的评论父div的全部内容,并且你有评论。

你现在要做的是在NerdDinner中进行研究,然后询问更具体的问题。

祝你好运,玩得开心。