我正在尝试做一些看似非常简单的事情:创建一个表单,提交给它的请求相同的URL,带有id。
如果我不关心id,我可以这样做:
<% using(Html.Form()) { %>
<!-- stuff -->
<% } %>
但是因为我想要id,所以我必须使用不同的重载。
我想要的是:
<% using(Html.Form(some, args, new {id="myAwesomeForm"})) { %>
<!-- stuff -->
<% } %>
我不能只对操作和控制器进行硬编码,因为表单在几个不同的地方使用。有时,网址会有参数(/items/edit/1
,有时则不会/items/create
)
必须有一些令人难以置信的简单方法,当我看到它时会让我觉得自己像个白痴。那么,它是什么?
澄清:我的意思是HTML元素上的ID,如<form action="/my/action[/possible arguments]" id="myAwesomeForm"></form>
答案 0 :(得分:2)
对动作和控制器使用null;它们将从当前的动作和控制器中填充。
<% using (Html.BeginForm( null, null, null, FormMethod.Post, new { id = 3 } )) { %>
<% } %>
答案 1 :(得分:0)
只需使用第一个重载(routeValues As Object)
它将假设当前,区域名称,控制器名称和操作名称参数。 发布是默认的表单方法。
<%
Using Html.BeginForm(New With {.id = 3})
End Using
%>