我是ASP.NET MVC2的新手。但我想开发一个简单的时事通讯网站。困扰我的主要问题是如何在新闻详情和评论列表中正确使用MVC模式。
例如:
我有一个 NewsController 和详细信息。还有两个模型类新闻和评论。 我想显示所有评论属于这个新闻记录和textarea添加新评论。 我在 / News / Details /
中显示所有这些内容我该怎么办?我尝试在详细信息视图中使用 PartialViews :一个用于添加注释,另一个用于注释列表。我已经通过 ViewData [“Comment”] 传递了评论对象。但我的模型有问题(想想我不能在视图中使用两个模型)
再次。如何使用ASP.NET MVC2在单个页面上显示单个帖子+评论+添加评论视图?
另一个例子是stackoverflow.com。这是一个问题+答案+写答案。我需要相同的结构
答案 0 :(得分:1)
@ ck3g,不要担心它实际上比你想象的容易。
首先,您可以将两个模型传递给视图。您只需将它们包装到第三个类中,然后将第三个类传递回视图;
将C类传递给您的视图。
如果B类是你的所有评论,那么我会得到一个以B为模型的局部视图。然后我会在模型上做一个foreach,并调用另一个局部视图来呈现单个注释。这使得样式和重构在以后更容易。
我还将局部视图包装在它自己的div中,以便您可以在ajax调用之后替换内容。
要添加注释,我将再次拥有部分视图,当您按下提交按钮时,我会对动作结果进行jquery调用,保存注释,然后重新读取数据库中的整个注释。然后,在您的c#代码中,使用RenderPartial("partialviewname", commentsModel);
将部分视图返回到jquery调用。
一旦你回到javascript版本,你可以用新的html替换你之前创建的注释父div的全部内容,并且你有评论。
您现在可能想要做的是在NerdDinner中进行研究,然后提出更具体的问题。
祝你好运,玩得开心。