C# 下拉式asp.net核心集所选项目
我需要在下拉列表中设置所选项目C# 下拉式asp.net核心集所选项目,c#,razor,asp.net-core-mvc,C#,Razor,Asp.net Core Mvc,我需要在下拉列表中设置所选项目 <div class="form-group"> <label asp-for="Transaction.CCurrency" class="control-label"> Currency </label> @(Html.DropDownList("CurrencyDropDownList", Model.Currency, "--Choose currency--", new { @class = "for
<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>
这是我的观点模型
public IEnumerable<SelectListItem> Currency { get; set; }
public IEnumerable Currency{get;set;}
然而,我不知道如何从我的数据库设置它,我可以通过它访问CCode和Cname,但不知道如何设置它。这是在我的编辑表单中,我需要查看以前的值,并在需要时在另一个上重新设置它
非常感谢,非常感谢您的帮助。您可以在SelectListItem中将selected属性设置为true,这将使此选项在页面中默认选中。我根据您的代码制作了一个简单的演示,如下所示: 视图:
@(Html.DropDownList(“CurrencyDropDownList”,Model.Currency,“--Choose Currency--”,new{@class=“form control”}))
型号:
public class ZCurrency
{
public int CCode { get; set; }
public string CName { get; set; }
}
public class ViewModel
{
public IEnumerable<SelectListItem> Currency { get; set; }
}
公共类ZCurrency
{
公共int代码{get;set;}
公共字符串CName{get;set;}
}
公共类视图模型
{
公共IEnumerable货币{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);
}
public IActionResult Index()
{
列表货币=新列表
{
新ZCurrency{CCode=1,CName=“AAA”},
新ZCurrency{CCode=2,CName=“BBB”},
新ZCurrency{CCode=3,CName=“CCC”},
};
ViewModel ViewModel=新ViewModel();
viewModel.Currency=currencies.Select(c=>new SelectListItem
{
Value=c.CCode.ToString(),
Text=c.CName,
所选=c.CCode==2?真:假
});
返回视图(viewModel);
}
这里,我通过将selected设置为true,将CCode为2的记录(new ZCurrency{CCode=2,CName=“BBB”})设置为选中项
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);
}