Значение скрытого поля на стороне сервера - PullRequest
1 голос
/ 19 апреля 2019

У меня есть форма для отправки, и я попытался отправить выбранное раскрывающееся значение на серверную сторону через скрытое поле, но оно не работает:

 @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 ]

2 голосов
/ 19 апреля 2019

Вы должны создать выпадающий список для этого скрытого идентификатора.Вам не нужно создавать скрытое поле.

@Html.DropDownListFor(m => m.DistrictId,                
    new List<SelectListItem> { 
    new SelectListItem { Value = "0" , Text = "Option A" },
    new SelectListItem { Value = "1" , Text = "Option B" }
    }, new { @class="classname"})
2 голосов
/ 19 апреля 2019

Изменить идентификатор выбора на другое имя, не использовать то же имя.

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

Необходимо убедиться, что значение Скрытое поле было установлено при выборе перед отправкой.

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

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...