MVC3中的默认模板在登录页面的查询字符串中设置'returnurl'变量。然后该页面回发到控制器
@using (Html.BeginForm()) {
然后在控制器中拾取它,如此
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
我想在表单中添加一个CSS类,因此我将帮助器更改为:
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "form-horizontal" }))
但现在查询字符串中的信息未在控制器中设置。
我总是可以在表单中为retrunurl设置隐藏的输入值,但我不知道是否有更简单的方法。
由于
答案 0 :(得分:5)
在这种情况下,您需要使用隐藏字段,因为此重载不会保留包含returnurl变量的原始查询字符串。或者,如果您不想使用隐藏字段,则可以使用查询字符串参数:
@using (Html.BeginForm(null, null, new { returnUrl = Request["returnurl"] }, FormMethod.Post, new { @class = "form-horizontal" }))
{
...
}