html.beingform没有生成适当的URL

时间:2017-12-28 11:52:03

标签: c# asp.net-mvc html.beginform

我正在使用html.beingform生成要发布的网址

▶ Child.singleton_class.instance_methods.detect &:hello.method(:==)
#⇒ :hello

生成的网址是

@using (Html.BeginForm("action", "ctrl", new { id = 5, name = "a" }))

但它应该生成为

<form action="/ctrl/action/5?name=a" method="post">

我正在使用的语法有什么问题?

修改

我根据评论尝试了以下语法

<form action="/ctrl/action?name=a&id=5" method="post">

上面给了我错误

@using (Html.BeginForm("action", "ctrl", new { [id] = 5, name = "a" }))
上面的

仍然将它添加到url

1 个答案:

答案 0 :(得分:0)

即使是网址:

 <form action="/ctrl/action/5?name=a" method="post">

该操作确实按预期工作,因为路由定义确实为id分配了5,因此这不是问题。

仍然保持问题的开放,它可以帮助将来的某个人

修改

这是另一种解决方法

  • 定义另一个没有&#34; id&#34;
  • 的路线定义
  • 并调用Html.BeginRouteForm(&#34; newRoute&#34;,new {id = 5,name =&#34; abcd&#34;})