1

我有一个表单,它是部分视图的一部分,我需要根据包含表单的视图的上下文将它提交到不同的位置。我不能使用 Html.BeginForm 因为表单有一个 multipart/form-data 编码类型,所以自动填写操作是不可能的。

我可以调用一个简单的变量来填写当前的控制器/动作作为我的表单动作吗?我看到 ViewContext.RouteData.Values["action"], ViewContext.RouteData.Values["controller"] 会返回这些值,但是有更好的访问器吗?

谢谢!

4

2 回答 2

2

自动HtmlHelper.BeginForm()填充动作和控制器的方式是使用. 所以你可以写:Request.RawUrl

<form action="<%= Request.RawUrl %>" method="post" enctype="multipart/form-data">
    ....
</form>
于 2009-07-30T05:05:28.157 回答
0

这就是我所做的

第一个完整视图:

 <% using (Html.BeginForm("Edit", "Admin",FormMethod.Post, 
              new { enctype = "multipart/form-data" })){%>
            <% Html.RenderPartial("MerchandiseEditDetail", Model); %>
   <%}%>>

第二个完整视图:

 <% using (Html.BeginForm("Create", "Admin",FormMethod.Post, 
       new { enctype = "multipart/form-data" })){%>
    <% Html.RenderPartial("MerchandiseEditDetail", Model); %>
<%}%>

我仍在寻找更好的解决方案,但这暂时解决了我的问题。

于 2009-07-30T01:58:20.157 回答