![](/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.