在ASP.NET MVC我正在使用HTML助手
Html.BeginForm("ActionName", "Controller", FormMethod.Post);
但我需要发帖到:/ controller / action / 23434
如何传入ID?
答案 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"]
然后,当按下提交按钮时,该值将作为表单变量正确传递。