繁体   English   中英

ASP.NET 核心 razor 中的选定项目未通过

[英]Selected item in ASP.NET Core razor not being passed

我第一次使用 ASP.NET Core Razor。 我试图简单地使用下拉列表的选定值设置绑定属性,但在发布表单时该属性始终为 null。 另外,当做出选择时,如何发布表单? TIA

Razor 页面:

<td>
    <form method="post">
        <select asp-for="@Model.selectedReport" asp-items="@Model.Reports" class="form-control">
        </select>
    </form>
</td>

后面的代码:

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");
    }
}

我有点生疏了。 我所要做的就是将 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM