如何使用Html.BeginForm()传入ID?
在ASP.NET MVC中,我使用了HTML帮助器
Html.BeginForm("ActionName", "Controller", FormMethod.Post);
但是我需要发布到:/ controller / action / 23434
我如何传入ID?
马特应该工作正常。 如果你仍然通过FormMethod.Post
,但是,你需要这样做:
Html.BeginForm("action","controller", new { Id = 12345 }, FormMethod.Post);
反转第三个和第四个参数将导致Id
被视为属性而不是路由值。
Html.BeginForm("action", "controller", new {Id = 12345})
Html.BeginForm("action", "controller", new { id = ViewBag.FileID }, FormMethod.Post, new { id = "feedbackform" })
至于querystring, ?type=golden
,我不知道该怎么做。 当然,一个查询是一个get,并破坏FormMethod.Post
的整个目的。 我的意思是,你可以使用FormMethod.Get
,如果你想查询string数据,这可能是你在找什么。
另外,您可以避免使用html.beginform
,并使用表单标签手动执行querystring,get + post。
第三,如果你使用的是表单,你可以创build一个隐藏字段:
[input type=hidden name="type" value="golden"]
然后,当提交button被按下时,值作为表单variables正确传递。