带有路由值的ASP.NET MVC渲染表单

时间:2014-03-27 07:28:24

标签: asp.net asp.net-mvc asp.net-mvc-4 url-routing

我的观点的路线是这样的:

http://localhost/project1/join/register/ABCDEFGH/12345678

最后两部分是我接受的参数,作为我路线的一部分。我现在要做的是将一个表单呈现到视图上,该表单有一个保留该URL的post方法。

我正在使用BeginForm HTML帮助程序,如下所示:

using (Html.BeginForm(
    "Register", 
    "Join", 
    new { ApplicationKey = Model.ApplicationKey, UserId= Model.UserId}, 
    FormMethod.Post, 
    new { @class = "form-horizontal", @role = "form" }))

这会将带有URL的表单操作标记呈现如下......

http://localhost/project1/join/register?ApplicationKey=ABCDEFGH&UserId=12345678

有没有办法使用表单助手并保留我的路由格式?我可以使用查询字符串参数进行此操作,但还有其他注意事项,这意味着如果我可以让帮助程序格式化最初用于访问页面的路径会更好。

感谢。

1 个答案:

答案 0 :(得分:2)

它没有很好地格式化的原因是因为它没有找到适合所有传递参数的匹配路由。

您可以尝试使用Html.BeginRouteForm并使用命名路由来执行此操作。

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginrouteform(v=vs.118).aspx