需要ASP.NET MVC2时事通讯项目的建议

时间:2010-05-13 20:16:26

标签: asp.net-mvc asp.net-mvc-2

我是ASP.NET MVC2的新手。但我想开发一个简单的时事通讯网站。困扰我的主要问题是如何在新闻详情和评论列表中正确使用MVC模式。

例如:

我有一个 NewsController 详细信息。还有两个模型类新闻评论。 我想显示所有评论属于这个新闻记录和textarea添加新评论。 我在 / News / Details /

中显示所有这些内容

我该怎么办?我尝试在详细信息视图中使用 PartialViews :一个用于添加注释,另一个用于注释列表。我已经通过 ViewData [“Comment”] 传递了评论对象。但我的模型有问题(想想我不能在视图中使用两个模型)

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

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

1 个答案:

答案 0 :(得分:1)

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

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

  • A类(){}
  • class B(){}
  • C类(){public A a;公共B b}

将C类传递给您的视图。

如果B类是你的所有评论,那么我会得到一个以B为模型的局部视图。然后我会在模型上做一个foreach,并调用另一个局部视图来呈现单个注释。这使得样式和重构在以后更容易。

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

要添加注释,我将再次拥有部分视图,当您按下提交按钮时,我会对动作结果进行jquery调用,保存注释,然后重新读取数据库中的整个注释。然后,在您的c#代码中,使用RenderPartial("partialviewname", commentsModel);将部分视图返回到jquery调用。

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

您现在可能想要做的是在NerdDinner中进行研究,然后提出更具体的问题。

祝你好运,玩得开心。