![](/img/trans.png)
[英]Asp.Net Core Razor Pages DropDownList selected item values
[英]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.