在将属性传递给控制器​​时,如何使用Html.BeginFrom方法?

时间:2015-12-08 20:21:52

标签: c# asp.net razor

首先,我相当肯定这已经得到了解答,我很抱歉这很可能是重新发布,但我无法找到答案马上。 ZZZ。

这是我的剃刀代码(剥离非必需品):

@model SurveyApp.Models.LoginModel
@{
    var x = ViewBag.Culture; //x gets populated with "en-CA"
}
@using (Html.BeginForm("Login", "Account", FormMethod.Post, new { culture = x, id = "login-form" }))
{
    //...
    <a href="javascript:document.getElementById('login-form').submit()">Submit</a>
}

我很确定这是所有相关代码,因为在我的[httppost]登录方法中,我在第二个参数中得到null。

这是登录原型(或者你称之为的任何东西):

public ActionResult Login(LoginModel model, string culture)
{
    //...
}

我是否使用Html.BeginForm调用的属性参数不正确?

1 个答案:

答案 0 :(得分:1)

你应该将它们作为隐藏的表单字段。除非是网址,否则form代码上的属性不会被提交。