html - 如何将查询参数和类属性传递给 MVC3 中的 Html.BeginForm?

标签 html asp.net-mvc asp.net-mvc-3 razor html-helper

我对 MVC3 中的 Html 助手有点困惑。

我之前在创建表单时使用了这种语法:

@using (Html.BeginForm("action", "controller", FormMethod.Post, new { @class = "auth-form" })) { ... }

这给了我

<form action="/controller/action" class="auth-form" method="post">...</form>

好吧,这就是我当时需要的。

现在我需要将 ReturnUrl 参数传递给表单,所以我可以这样做:

@using (Html.BeginForm("action", "controller", new { ReturnUrl="myurl" } )) { ... }

那会给我

<form action="/controller/action?ReturnUrl=myurl" method="post"></form>

但我仍然需要将 css 类和 id 传递给此表单,但我找不到同时传递 ReturnUrl 参数的方法。

如果我添加 FormMethod.Post,它会将我的所有参数作为属性添加到表单标记中,如果没有 FormMethod.Post,它会将它们添加为查询字符串参数。

我该怎么做?

谢谢。

最佳答案

您可以使用:

@using (Html.BeginForm("action", "controller", new { ReturnUrl="myurl" }, FormMethod.Post, new { @class = "auth-form" })) { ... }

这将给出:

<form action="/controller/action?ReturnUrl=myurl" class="auth-form" method="post">
   ...
</form>

关于html - 如何将查询参数和类属性传递给 MVC3 中的 Html.BeginForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991991/

相关文章:

asp.net - 打印友好的 ASP.NET MVC 3 View

html - 如何相对定位图像

javascript - 如何在 JavaScript 中使用数组创建国家/地区列表?我在页面中总共有 10 个或更多选择国家/地区框

asp.net-mvc - 使用 gulp-useref Durandal 和 ASP.NET MVC 进行捆绑和串联

jquery - Steve Sanderson 的 BeginCollectionItem 不适用于所有情况...潜在的解决方案?

asp.net-mvc - 不使用 JavaScript 将焦点设置在 EditorFor 上

html - 当 Ajax 响应来自使用 select2 的 laravel Controller 时,如何检查 JQuery 附加选项中的条件?

html - 当我仅使用 CSS 向下滚动时,如何使导航栏固定在顶部并变得透明?

c# - 编写一个通用的 FluentValidation 自定义验证器来检查唯一约束

asp.net-mvc - 具有应用内授权的 OWIN WsFederation 身份验证