在另一个的视图页面上编辑一个模型 - ASP.NET MVC

时间:2010-07-15 12:23:24

标签: asp.net-mvc model-view-controller

我正在ASP.NET MVC中编写一个基本的博客应用程序。我有一个Post模型,可以通过View.aspx显示。在该页面上,我还想要一个表单来提交评论,但是当View.aspx继承Post模型时,我不知道如何编辑评论模型。

4 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以使用您喜欢的任何型号。因此,在您的视图中放置一个表单,指向Post / Comment / {postid}或Comment / Add / {postid}。将模型添加到数据库后重定向到上一个视图。

答案 1 :(得分:1)

tsv - 为评论创建一些偏好视图(强类型)并在评论控制器上创建几个方法:

  • GetComments(int postId)
  • AddComment(评论新评论)

在您的帖子视图中,通过$ ajax或直接在页面中调用partialview。

吉姆

答案 2 :(得分:1)

这里要理解的关键是当你的页面'继承'一个类(Post,在你的情况下)时,这纯粹是为了不需要以任何方式强制转换模型。 这并不限制您引用aspx页面中的其他类,也不会阻止页面的表单发布到另一个继承自完全不同的类的Controller / Action(在您的情况下为Comment)。

也许如果你发布了一些示例代码,我们可以建议一些方法让它按照你想要的方式工作。

答案 3 :(得分:0)

正如Jim所说,你可以在不同的或同一个Controller中创建必要的方法并调用<%Html.RenderAction(“methodName”,“ControllerName”)%>在你的view.aspx中,它仍将继承Post Model。 然后,为表单创建usercontrols以提交注释并显示所有注释。