如何使用Html.BeginForm()传入ID?

时间:2009-05-18 15:33:19

标签: asp.net-mvc

ASP.NET MVC我正在使用HTML助手

Html.BeginForm("ActionName", "Controller", FormMethod.Post);

但我需要发帖到:/ controller / action / 23434

如何传入ID?

3 个答案:

答案 0 :(得分:63)

马特应该可以正常工作。但是,如果你仍在传递FormMethod.Post,你需要这样做:

Html.BeginForm("action","controller", new { Id = 12345 }, FormMethod.Post);

反转第三个和第四个参数将导致Id被视为属性而不是路线值。

答案 1 :(得分:10)

Html.BeginForm("action", "controller", new {Id = 12345})

答案 2 :(得分:7)

Html.BeginForm("action", "controller", new { id = ViewBag.FileID },
FormMethod.Post, new { id = "feedbackform" })

至于查询字符串?type=golden,我不知道该怎么做。当然,查询是一种获取,并且破坏了FormMethod.Post的整个目的。我的意思是,如果你想要查询字符串数据,可以使用FormMethod.Get,这可能就是你要找的东西。

此外,您可以避免html.beginform并使用表单标记手动执行查询字符串get + post。

第三,如果您使用表单,则可以创建一个隐藏字段:

[input type=hidden name="type" value="golden"]

然后,当按下提交按钮时,该值将作为表单变量正确传递。