如何在 Register.cshtml 中添加下拉列表
How to add Dropdownlist in Register.cshtml
我搭建了身份 Register.cshtml 页面。此页面正在使用剃须刀。这是表格的一部分..
<form id="registerForm" asp-route-returnUrl="@Model.ReturnUrl" method="post">
<h2>Create a new account.</h2>
<hr />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-floating">
<input asp-for="Input.FullName" class="form-control" aria-required="true" />
<label asp-for="Input.FullName"></label>
<span asp-validation-for="Input.FullName" class="text-danger"></span>
</div>
<br />
<div class="form-floating">
<input asp-for="Input.Bank" class="form-control" aria-required="true" />
<label asp-for="Input.Bank"></label>
<span asp-validation-for="Input.Bank" class="text-danger"></span>
</div>
<br />
<button id="registerSubmit" type="submit" class="w-100
btn btn-lg btn-primary">Register</button>
//.......
</form>
我试图填充项目 Input.Bank 的下拉列表。我想我应该在 OnGetAsync
中做一个 ViewBag
public async Task OnGetAsync(string returnUrl = null)
{
ReturnUrl = returnUrl;
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
}
但它不允许。如何填充下拉列表?下拉列表的值将来自数据库 table.
您可以尝试在 PageModel 中创建一个 属性:
[BindProperty]
public List<SelectListItem> DropDown { get; set; }
public async Task OnGetAsync(string returnUrl = null)
{
//set DropDown with database here
DropDown = xxxxxx;
ReturnUrl = returnUrl;
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
}
View(绑定DropDown数据到Input.Bank
):
<div class="form-floating">
<select asp-for="Input.Bank"class="form-control" aria-required="true" asp-items="@Model.DropDown"></select>
<label asp-for="Input.Bank"></label>
<span asp-validation-for="Input.Bank" class="text-danger"></span>
</div>
我搭建了身份 Register.cshtml 页面。此页面正在使用剃须刀。这是表格的一部分..
<form id="registerForm" asp-route-returnUrl="@Model.ReturnUrl" method="post">
<h2>Create a new account.</h2>
<hr />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-floating">
<input asp-for="Input.FullName" class="form-control" aria-required="true" />
<label asp-for="Input.FullName"></label>
<span asp-validation-for="Input.FullName" class="text-danger"></span>
</div>
<br />
<div class="form-floating">
<input asp-for="Input.Bank" class="form-control" aria-required="true" />
<label asp-for="Input.Bank"></label>
<span asp-validation-for="Input.Bank" class="text-danger"></span>
</div>
<br />
<button id="registerSubmit" type="submit" class="w-100
btn btn-lg btn-primary">Register</button>
//.......
</form>
我试图填充项目 Input.Bank 的下拉列表。我想我应该在 OnGetAsync
中做一个 ViewBagpublic async Task OnGetAsync(string returnUrl = null)
{
ReturnUrl = returnUrl;
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
}
但它不允许。如何填充下拉列表?下拉列表的值将来自数据库 table.
您可以尝试在 PageModel 中创建一个 属性:
[BindProperty]
public List<SelectListItem> DropDown { get; set; }
public async Task OnGetAsync(string returnUrl = null)
{
//set DropDown with database here
DropDown = xxxxxx;
ReturnUrl = returnUrl;
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
}
View(绑定DropDown数据到Input.Bank
):
<div class="form-floating">
<select asp-for="Input.Bank"class="form-control" aria-required="true" asp-items="@Model.DropDown"></select>
<label asp-for="Input.Bank"></label>
<span asp-validation-for="Input.Bank" class="text-danger"></span>
</div>