MVC Значение по умолчанию раскрывающегося списка Razor не запускает событие onchange - PullRequest
0 голосов
/ 17 июня 2020

У меня есть раскрывающийся список в приложении c# MVC Razor, который заполняется с помощью объекта модели данных enum. Моя проблема возникает, когда пользователь выбирает раскрывающийся список, значение по умолчанию - первое значение из модели, и когда оно выбрано, событие onchange не запускается. См. Код ниже:

. net ядро ​​mvc вид бритвы

            <tr>
                <td>
                    <a id="GenderLnk" href="#">Click Here to Update</a><br>
                    <div id="GenderDiv" style="display:none;">
                        @using (Html.BeginForm("UpdateGender", "Home", FormMethod.Post))
                        {
                            @Html.DropDownListFor(m => m.StudentGender, new SelectList(Enum.GetValues(typeof(Gender))), new { @class = "show", onchange = "this.form.submit();" })
                        }
                    </div>
                </td>
            </tr>

Вот свойство модели

    public Gender StudentGender { get; set; }

    public enum Gender
    {
        Female,
        Male,
        [Display(Name ="Not Applicable")]
        NotApplicable,
        Transgender

    }

This is screenshot of drop down list with code suggested by Dilan.  As can see, still Female is default

1 Ответ

1 голос
/ 17 июня 2020

Причина того, что функция "onChange" не запускается, состоит в том, что она технически не изменяет никакого значения в форме, если пользователь выбрал значение по умолчанию с первой попытки. Что вы можете сделать, так это указать значение типа «пожалуйста, выберите» в качестве значения по умолчанию и позволить пользователю выбрать значение из списка.

@Html.DropDownListFor(m => m.StudentGender, new SelectList(Enum.GetValues(typeof(Gender))), "-- Please Select -- ", new { @class = "show", onchange = "this.form.submit();" })

Возможно, вы также можете использовать этот вопрос + ответ во внимание . Надеюсь, это поможет.

Получите значение NULL по умолчанию из DropDownList в ASP. NET MVC

...