在MVC中提交相同的操作

时间:2010-09-20 19:06:19

标签: asp.net-mvc

在我的View(.aspx)代码中,我可以向Html.BeginForm()提供哪些参数,以便将其提交回生成视图的同一控制器和操作?

3 个答案:

答案 0 :(得分:4)

这一切都取决于您的路线表。假设您正在使用标准路由,我认为您不能提供任何参数(或空值),并且您将最终处于生成视图的同一控制器操作。

否则,您可以从路径数据中提取当前控制器和操作。

答案 1 :(得分:1)

使用ViewContext,您可以获取名为

的路径数据
<% using (Html.BeginForm(ViewContext.RouteData.Values["controller"].ToString(), ViewContext.RouteData.Values["action"].ToString(), FormMethod.Post)) {%>
    your form data here
<% } %>

答案 2 :(得分:0)

在你看来

<% using (Html.BeginForm("actionName", "controllerName", new {  }, FormMethod.Post, "")){ %>
<%} %>

如果你没有使用html助手

<form id='form' action="../controllerName/actionName" method="post">

在您的控制器中

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult actionName (FormCollection collection)
{}