sae*_*med 5 c# asp.net asp.net-core-2.0
我想从我的数据库中填充下拉列表。 剃刀页面中模型绑定的方式是什么
public IActionResult OnGet()
{
var model = new Item
{
ItemTypes = _context.ItemTypes.ToList(),
Parts = _context.Parts.ToList(),
Sections = _context.Sections.ToList()
};
return Page();
}
Run Code Online (Sandbox Code Playgroud)
在这一点上,您可能已经解决了,但如果它可以帮助未来的访问者:
在您的PageModel班级中,创建一个或多个将接收您的“列表”的属性:
public class CreateModel : PageModel
{
...
public SelectList CountryList { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
仍然在同一个类中,创建一个方法来填充您的列表并设置您的属性:
private void PopulateCountries()
{
var countries = from c in _context.Countries
orderby d.Name
select c;
CountryList = new SelectList(countries, "Alpha3", "CountryName");
}
Run Code Online (Sandbox Code Playgroud)
然后,在您的页面中:
<div class="form-group">
<label asp-for="Race.CountryCode" class="control-label"></label>
<select asp-for="Race.CountryCode" class="form-control"
asp-items="@Model.CountryList">
<option value="">-- Select --</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
当然,您可以做一些小的变化。例如,将 放在PopulateCountries基类、服务等中,但我认为您明白了。
参考:Razor Pages with EF Core in ASP.NET Core - 更新相关数据 - 7 of 8
| 归档时间: |
|
| 查看次数: |
7230 次 |
| 最近记录: |