我编写了一个查询来从表中获取结果。
var queryres = (from r in objTestEntities.module_where r.PID ==id select r).ToList();
try
{
for (int j = 0; j < queryres.Count; j++)
{
string sModuleName = queryres[j].Title;
int iModuleId = queryres[j].ModuleID;
string sVersion = queryres[j].VersionNo;
sModuleNameList.Add(new SelectListItem
{
Text = sModuleName,
Value = iModuleId.ToString(),
Selected = true
});
sVersionList.Add(new SelectListItem
{
Text = sVersion,
Value = sVersion,
Selected = true
});
}
ViewData["Module"] = sModuleNameList;
ViewData["Version"] = sVersionList;
}
现在我希望 sVersionList 类型应该具有不同的值。 但从 queryres 变量中我获取模块名称,并且不同的模块可以具有相同的版本。
从版本列表组合中的上述代码中,我多次获得相同的版本。
但我希望一个版本只能看到一次。
我也尝试过:ViewData["Version"] = sVersionList.Distinct(); 但由此我也无法在版本列表组合中显示 distic 值。
最佳答案
var moduleNameList = queryres.Select(o => new SelectListItem
{
Text = o.Title, Value = o.ModuleID.ToString(), Selected = true
});
var versionList = queryres
.Select(o => o.VersionNo)
.Distinct()
.Select(o => new SelectListItem
{
Text = o, Value = o, Selected = true
});
关于c# - 如何在<选择列表项>中插入不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413772/