Страница бритвы <выберите asp-for> отправляется как нулевое значение - PullRequest
0 голосов
/ 27 августа 2018

У меня проблемы с получением <select> опций для отправки данных с помощью asp-формы. У меня есть значение (examDetails) в моем TestingController, которое является экземпляром объекта Exam. Я работаю над страницей редактирования для этих экзаменов, которая использует внешний API как часть отдельного проекта для взаимодействия с базой данных. Я могу успешно использовать поля ввода для изменения examDetails из Edit.cshtml, но как только я пытаюсь использовать SelectList, отправленное значение всегда равно null. Если я установил одно из полей SelectList как [Required] и выбрал значение, то при отправке формы появится поле null.

<form asp-page-handler="Customer" method="get">
    <div class="form-group">
                <label asp-for="examDetails.Type" class="control-label"></label>
                <select asp-for="examDetails.Type" asp-items="@FERazor.Controller.TestingController.TypeSL" name="TypeNameTest" 
    class="form-control">
                </select>
                <span asp-validation-for="examDetails.Type" class="text-danger"> 
   </span>
            </div>
        <div class="form-group">
            <input type="submit" value="Save" class="btn btn-default" />
        </div>
</form>

И когда я проверяю работающую html-страницу, она действительно имеет значение. Если я отправлю это, чтобы сказать OnPost в качестве параметра, я получу значение.

<select name="TypeNameTest" class="form-control" id="examDetails_Type">
                <option selected="selected" value="Final">Final</option>
<option value="Midterm">Midterm</option>
<option value="No Exam">No Exam</option>
<option value="Test">Test</option>
</select>
...