c# - 如何在<选择列表项>中插入不同的值

标签 c# asp.net-mvc

我编写了一个查询来从表中获取结果。

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/

相关文章:

javascript - 在 GridView 中显示没有绑定(bind)数据且未检索到结果的不同消息

c# - VS 扩展中具有 [Export] 的 MEF 组件 - 未找到与约束匹配的导出

jquery - 如何通过ajax更新同位素2项目,同时保持当前的排序和过滤?

asp.net-mvc - url 中的 ASP.NET MVC2 垃圾

c# - 基于分配的权限功能的授权

c# - 为什么委托(delegate)在静态方法中使用时不能引用非静态方法?

c# - 将 Kestrel 暴露于外界的风险

asp.net - 为什么Request.QueryString ["ReturnUrl"]即使在URL中也返回NULL呢?

asp.net - log4net 在 ASP.Net MVC Web 应用程序中抛出安全异常

c# - 林克错误 "Input string was not in a correct format."