服务器端的隐藏字段值

时间:2019-04-19 05:59:47

标签: c# jquery json asp.net-mvc

我有一个表单提交,我试图通过一个隐藏字段将选定的下拉值发送到服务器端,但是它不起作用:

 @using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @id = "registerFormId" }))
{
    <select class="form-control" id="districtId"></select>
    @Html.HiddenFor(m => m.DistrictId)
}

服务器端

    [HttpPost]
    [AllowAnonymous]
    public ActionResult Register(RegisterViewModel registerViewModel)
    {
         // Hidden field value not bind here.
    }

注册视图模型:

public class RegisterViewModel
{
    // Some Properties there

    public int UserId { get; set; }
    public bool Status { get; set; }
    public int CountryId { get; set; }
    public bool IsGuest { get; set; }
    public int DistrictId { get; set; }
    public string ZipPostalCode { get; set; }
}

2 个答案:

答案 0 :(得分:2)

将选择ID更改为另一个名称,而不要使用相同的名称。

<select class="form-control" id="another"></select>

提交前,必须确保已选择“隐藏”字段的值。

$('#another').on('change', function(){
   $('#DistrictId').val($(this).val());
});

祝你好运!

答案 1 :(得分:2)

您应该为该隐藏ID创建dropdownlist。您无需创建hiddenfield。

auto &