我一直试图做以下事情,但无论我尝试什么,我只是不断得到不同的错误:
@using (Html.BeginForm(Url.Action(this.ViewContext.RouteData.Values["action"] as string)))
Run Code Online (Sandbox Code Playgroud)
这例如产生:
<form action="/adminTests/create?Length=22" method="post">
Run Code Online (Sandbox Code Playgroud)
有没有人想出怎么做?
Dar*_*rov 17
您使用了错误的重载.它应该是:
@using (Html.BeginForm(new { action = ViewContext.RouteData.Values.GetRequiredString("action") }))
Run Code Online (Sandbox Code Playgroud)
要么:
@using (Html.BeginForm(ViewContext.RouteData.Values.GetRequiredString("action"), ViewContext.RouteData.Values.GetRequiredString("controller"))))
Run Code Online (Sandbox Code Playgroud)
或者如果你想生成一个表单POST到当前url使用简单(注意这将包括任何查询字符串参数):
@using (Html.BeginForm())
Run Code Online (Sandbox Code Playgroud)
有关可用过载的完整列表,请参阅文档.
小智 15
也许尝试这个:
@using (Html.BeginForm("action", "controller"))
Run Code Online (Sandbox Code Playgroud)
这使用正确的重载并具有更简单的(imo)语法.
归档时间: |
|
查看次数: |
25480 次 |
最近记录: |