[英]Selected item in ASP.NET Core razor not being passed
I'm using ASP.NET Core Razor for the first time.我第一次使用 ASP.NET Core Razor。 I'm trying to simply set a bound property with the selected value of a dropdown but the property is always null when the form is posted.我试图简单地使用下拉列表的选定值设置绑定属性,但在发布表单时该属性始终为 null。 Also, how does one get the form posted when a selection is made?另外,当做出选择时,如何发布表单? TIA TIA
Razor page: Razor 页面:
<td>
<form method="post">
<select asp-for="@Model.selectedReport" asp-items="@Model.Reports" class="form-control">
</select>
</form>
</td>
Code behind:后面的代码:
public class SubscribedReportsModel : PageModel
{
[BindProperty]
public List<SelectListItem> Workspaces { get; private set; }
[BindProperty]
public List<SelectListItem> Reports { get; private set; }
[BindProperty]
public string selectedReport { get; set; }
public async Task OnGetAsync()
{
await GetWorkspaces();
}
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
if (selectedReport != null)
{
return Page();
}
return RedirectToPage("./Index");
}
}
I'm a bit rusty it appears.我有点生疏了。 All I had to do was add onchange="this.form.submit()" to the control:我所要做的就是将 onchange="this.form.submit()" 添加到控件中:
<td>
<form method="post">
<select asp-for="@Model.selectedReport" asp-items="@Model.Reports" class="form-control" onchange="this.form.submit()">
</select>
@*@Html.DropDownList("ddl_Reports", Model.Reports, new {@class="form-control"})*@
@*@Html.DropDownListFor(m => m.selectedReport, Model.Reports, "--Select Report--", new{@class="form-control"})*@
</form>
</td>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.