繁体   English   中英

ASP.NET Core with Razor Pages: 从 DropDownList 返回值

[英]ASP.NET Core with Razor Pages: Return value from DropDownList

我有一个 web 应用程序,它允许我从数据库中的客户表中提取名称,并在下拉菜单中打印出来。 然后我可以 select 列表中的名称,但我不知道如何实际实现返回该名称,以便我可以将其插入网站的其他位置。

这是我的 CustomerPage.cshtml.cs class 的代码:

namespace CDInsightsWeb.Pages.Customer
{
public class CustomerPageModel : PageModel
{
    private readonly ConnectionStringClass _db;

    public CustomerPageModel(ConnectionStringClass db)
    {
        _db = db;
    }

    public List<Model.Customer> DisplayData { get; set; }

    public async Task OnGet()
    {
        DisplayData = await _db.Customer.ToListAsync();
    }
    public async Task OnPost()
    {
        return RedirectToPage("/Assessment/AssessmentPage", new { Customer.name });
    }
}
}

在 CustomerPage.cshtml 中,我有一行显示和填充 DropDownList:

@page
@model CDInsightsWeb.Pages.Customer.CustomerPageModel
@{
    ViewData["Title"] = "CustomerPage";
}

<h1>Select A Customer</h1>
<div class="text-center">
    <hr />
    @Html.DropDownList("name", new SelectList(Model.DisplayData, "customer_id", "name"), "Select Name")
</div>
<div>
    <a asp-page="/Customer/CreateCustomer">Create a Customer</a>
</div>

我如何从这个列表中返回值 I select? 另外,如果需要任何额外信息,请告诉我,谢谢!

编辑:为 CustomerPage.cshtml 添加了完整代码 Edit2:为 OnPost 方法添加了代码

根据您的需要更改以下代码:

代码背后:

    [BindProperty]
    public List<Customer> DisplayData { get; set; }

    public IActionResult OnGet()
    {
        DisplayData = new List<Customer>();
        DisplayData.Add(new Customer { customer_id = "101", name = "Arun" });
        DisplayData.Add(new Customer { customer_id = "102", name = "Sonu" });
        return Page();
    }

    public IActionResult OnPost(string name)
    {
        return RedirectToPage("/Assessment/AssessmentPage", new { name });
    }

看法:

<h1>Select A Customer</h1>
<form method="post">
    <div class="text-center">
        <hr />
        @Html.DropDownList("name", new SelectList(Model.DisplayData, "name", "name"), "Select Name")
    </div>
    <div>
       <input value="submit" type="submit"/>
    </div>
</form>

Output:

在此处输入图像描述

在视图中; 将下拉列表放在表单标签内,添加提交类型的输入

在后面的代码中; 在动作输入参数 ex 中添加。 (字符串名称)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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