У меня есть список SELECT на странице бритвы .NET Core, который никогда не сбрасывается: -
HTML:
<form asp-page="./TestDropdown" method="post">
<div class="col-12">
<strong>Gender in memory: @Model.Gender</strong>
</div>
<div class="row">
<div class="col-md-12">
<select asp-for="@Model.Gender" asp-items="@Model.GenderList" class="form-control">
<option value="">Gender</option>
</select>
</div>
</div>
<div class="row">
<div class="col-12">
<input asp-page-handler="Search" type="submit" value="Search" class="btn btn-default btn-block" />
<input asp-page-handler="ClearSearch" type="submit" value="Clear Search" class="btn btn-warning btn-block" />
</div>
</div>
</form>
C #:
public class TestDropdownModel : PageModel
{
public TestDropdownModel()
{
InitSearchList();
}
[BindProperty]
public string Gender { get; set; }
[BindProperty]
public SelectList GenderList { get; set; }
public async Task<ActionResult> OnPostClearSearch()
{
Gender = "";
InitSearchList();
return Page();
}
public async Task<ActionResult> OnPostSearch()
{
InitSearchList();
return Page();
}
private void InitSearchList()
{
GenderList = new SelectList(new List<string>() { "Male", "Female" })
}
public void OnGet()
{
}
}
Ожидаемое поведение
- При GET пол не выбирается
- Когда мужчина выбран из списка SELECT и SEARCH нажимает, страница перезагружается
- Страница перезагружается Мужской выбран в списке.
- Пол метка отображается как мужчина
- Нажмите Очистить Поиск
OnPostClearSearch()
выполняется, Пол установлен на "" - Метод страницы с опциями Мужской и Женский ничего не выбрано
- Пол в метке памяти не заполнен
Фактическое поведение
- В GET не выбран пол
- Когда мужчина выбирается из списка ВЫБРАТЬ и нажимает ПОИСК, страница перезагружается
- Страница перезагружается мужчина выбирается в списке.
- Пол метки отображается как мужчина
- Нажмите Очистить Поиск
OnPostClearSearch()
выполнено, Gender
установлено на "" - Перезагрузка страницыс параметрами Мужской и Женский «Мужской» выбран , хотя в 6 было установлено значение «».
<option selected="selected">Male</option>
- Пол Метка пуста