c# - 下拉 asp.net core 设置选中项
问题描述
我需要在下拉菜单中设置所选项目
<div class="form-group">
<label asp-for="Transaction.CCurrency" class="control-label"> Currency </label>
@(Html.DropDownList("CurrencyDropDownList", Model.Currency, "--Choose currency--", new { @class = "form-control" }))
<span asp-validation-for="CurrencyDropDownList" class="text-danger"></span>
</div>
我正在将其填充到控制器中
model.Currency = database.ZCurrency.Where(x => x.LActive == true).Select(c => new SelectListItem
{
Value = c.CCode.ToString(),
Text = c.CName,
});
这是在我的视图模型中
public IEnumerable<SelectListItem> Currency { get; set; }
但是,我不知道如何从我的数据库中设置它,我可以通过它访问 CCode 和 Cname,但不知道如何设置它。这是在我的 EDIT 表单中,我需要在其中查看我之前拥有的值并在需要时将其重新设置为另一个值。
非常感谢您,将不胜感激任何帮助。
解决方案
您可以在 SelectListItem 中将 selected 属性设置为 true,这将使该选项在页面中默认选中。我根据您的代码做了一个简单的演示,如下所示:
看法:
<div class="form-group">
@(Html.DropDownList("CurrencyDropDownList", Model.Currency, "--Choose currency--", new { @class = "form-control" }))
</div>
模型:
public class ZCurrency
{
public int CCode { get; set; }
public string CName { get; set; }
}
public class ViewModel
{
public IEnumerable<SelectListItem> Currency { get; set; }
}
控制器:
public IActionResult Index()
{
List<ZCurrency> currencies = new List<ZCurrency>
{
new ZCurrency{ CCode = 1, CName = "AAA" },
new ZCurrency{ CCode = 2, CName = "BBB" },
new ZCurrency{ CCode = 3, CName = "CCC" },
};
ViewModel viewModel = new ViewModel();
viewModel.Currency = currencies.Select(c => new SelectListItem
{
Value = c.CCode.ToString(),
Text = c.CName,
Selected = c.CCode == 2 ? true: false
});
return View(viewModel);
}
在这里,我通过将 Selected 设置为 true,将 CCode 为 2 (new ZCurrency{ CCode = 2, CName = "BBB" }) 的记录设置为选中项。
推荐阅读
- python - Discord.py:无法从 DM 中获取提及的用户信息
- c# - 如何在 C# 中强制执行编码样式约定?
- python - Q-learning 模型没有改进
- opengl - 复杂性 OpenGL 和 Vulkan
- c++ - VkDescriptorBufferInfo 'range' 字段是否需要是 VkPhysicalDeviceProperties 'limits.minUniformBufferOffsetAlignment' 字段的倍数?
- android - React Native 意外字符:settings.graddle 中的“\”
- c# - JSON 到 GridView 解析 | System.NullReferenceException
- python - 如何根据日期时间值创建列?
- php - 在 PHP 中加入基于公共 id 的多个集合
- python - python 3种可能的魔术方法