簡體   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