ASP.NET MVC多个控制器动作在一个表单中

时间:2009-02-09 07:48:15

标签: asp.net-mvc

我可能走错了路,所以请帮忙。

我的ASP.NET MVC应用程序中有一个显示注释的页面。这些评论来自“评论”控制器的“索引”操作。在页面底部,我有一个用于添加新评论的表单。此表格应致电

[AcceptVerbs(HttpVerbs.Get)] 
public ActionResult AddComment();
将表单呈现给用户时的

操作和

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult AddComment(Comment c); 

向服务器发布新评论时的操作。

我认为'评论'页面应该调用三种操作方法(Index,AddComment [Get],AddComment [Post])。但是从不调用AddComment [Get]。

请指出正确的方向。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果表单提交对评论页面进行POST(提交)(即具有评论页面的操作和POST方法),那么确实是使用chouls的POST版本。如果您(例如)使用标准锚点/链接显示独立评论页面(或发布AJAX“get”到该地址),则将使用GET版本。

您目前如何点击这些页面?目前,您的索引页面似乎是手动添加表单 - 因此除非您通过AJAX添加表单,否则无法使用GET注释。

答案 1 :(得分:0)

添加对MVC Futures程序集的引用,并使用 Html.RenderAction 帮助程序方法在页面视图中包含其他操作的结果。