我有一个表单是部分视图的一部分,我需要根据包含表单的视图的上下文将其提交到不同的位置。我不能使用Html.BeginForm,因为表单有一个multipart / form-data enctype,所以自动填充的动作就出了门。
我可以调用一个简单的变量来填充当前控制器/动作作为我的表单操作吗?我看到ViewContext.RouteData.Values [“action”],ViewContext.RouteData.Values [“controller”]将返回这些值,但是有更好的访问者吗?
谢谢!
答案 0 :(得分:2)
使用HtmlHelper.BeginForm()
Request.RawUrl
自动填充操作和控制器的方式。所以你可以写:
<form action="<%= Request.RawUrl %>" method="post" enctype="multipart/form-data">
....
</form>
答案 1 :(得分: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); %>
<%}%>
我仍然在寻找更好的解决方案,但这暂时解决了我的问题。