C# 如何将System.Web.Mvc.SelectListItem转换为列表

C# 如何将System.Web.Mvc.SelectListItem转换为列表,c#,C#,我希望使用datatable显示数据,以便我的硬编码System.Web.Mvc.SelectListItem值和文本收集并使用linq生成列表,但获取错误System.linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String] var parentkeylist=clsDataCache.GetPriorityList().ToList() List data=this.getAl

我希望使用datatable显示数据,以便我的硬编码System.Web.Mvc.SelectListItem值和文本收集并使用linq生成列表,但获取错误System.linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String]

var parentkeylist=clsDataCache.GetPriorityList().ToList()

List data=this.getAllstOrganizationEntityData(输入)

List data=this.getAllstOrganizationEntityData(输入)

foreach(数据中的stp_OrganizationEntity obj)
{
if(obj.parentkey!=null)
{

obj.priotytext=parentkeylist.Where(x=>x.Value==obj.parentkey.ToString()).Select(x=>x.Text.Cast().ToString();//非Cast文本值获取错误System.Linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String] } 其他的 { obj.priotytext=“Root”; } } if(data!=null&&data.Count>0) { long totalRecords=data.FirstOrDefault()。返回\u键; var tut=(从数据中的t开始) 选择新的 { t、 entityname, t、 组织键, t、 priotytext, t、 EntityTypeKey, t、 整体水平, //t、 seqfirstindex, //t、 seqfullindex, //t.entitycpde, //t、 描述, t、 我很活跃, ex_nvarchar1=objSecPanel.genButtonPanel(t.entitykey.GetValueOrDefault(-99),“entitykey”,this.HttpContext.User.Identity作为ClaimsIdentity, “StpOrganizationEntity/StpOrganizationEntityUpdate”、“EditStpOrganizationEntity”、“StpOrganizationEntity/StpOrganizationEntityDelete”、“DeleteStpOrganizationEntity”, “STPCorganizationEntity/STPCorganizationEntityDetails”、“STPCorganizationEntityDetails”) }).ToList();

}

您得到的错误是什么?System.Linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String]什么类型的x.Text?
parentkeylist.Where(x=>x.Value==obj.parentkey.ToString()).Select(x=>x.Text.Cast().ToString()您正在对IEnumerable调用ToString()。如果您想通过使用String .Ing.x.text获取iQuestBy值中的字符串值,则选择StrutsListITEM文本属性,它是字符串。
  var parentkeylist = clsDataCache.GetPriorityList().ToList();//this is SelectListItem
            foreach (stp_organizationentityEntity obj in data)
            {
                    if (obj.parentkey != null)
                {
                    obj.priotytext = parentkeylist.Where(x => x.Value == obj.parentkey.ToString()).Select(x => x.Text).Cast<string>().ToString();//not cast Text value get error System.Linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String]  
                }
                else
                {
                    obj.priotytext = "Root";
                }
            }

            if (data != null && data.Count > 0)
            {
                long totalRecords = data.FirstOrDefault().RETURN_KEY;

                var tut = (from t in data
                           select new
                           {
                               t.entityname,
                               t.organizationkey,
                              t.priotytext,
                               t.entirytypekey,
                               t.entitylevel,
                               //t.seqfirstindex,
                               //t.seqfullindex,
                               // t.entitycpde,

                               //t.description,
                               t.isactive,
                               ex_nvarchar1 = objSecPanel.genButtonPanel(t.entitykey.GetValueOrDefault(-99), "entitykey", this.HttpContext.User.Identity as ClaimsIdentity,
                               "StpOrganizationEntity/StpOrganizationEntityUpdate", "EditStpOrganizationEntity", "StpOrganizationEntity/StpOrganizationEntityDelete", "DeleteStpOrganizationEntity",
                               "StpOrganizationEntity/StpOrganizationEntityDetails", "StpOrganizationEntityDetails")
                           }).ToList();
  var parentkeylist = clsDataCache.GetPriorityList().ToList();//this is SelectListItem
            foreach (stp_organizationentityEntity obj in data)
            {
                    if (obj.parentkey != null)
                {
                    obj.priotytext = parentkeylist.Where(x => x.Value == obj.parentkey.ToString()).Select(x => x.Text).Cast<string>().ToString();//not cast Text value get error System.Linq.Enumerable+WhereSelectListIterator`2[System.Web.Mvc.SelectListItem,System.String]  
                }
                else
                {
                    obj.priotytext = "Root";
                }
            }

            if (data != null && data.Count > 0)
            {
                long totalRecords = data.FirstOrDefault().RETURN_KEY;

                var tut = (from t in data
                           select new
                           {
                               t.entityname,
                               t.organizationkey,
                              t.priotytext,
                               t.entirytypekey,
                               t.entitylevel,
                               //t.seqfirstindex,
                               //t.seqfullindex,
                               // t.entitycpde,

                               //t.description,
                               t.isactive,
                               ex_nvarchar1 = objSecPanel.genButtonPanel(t.entitykey.GetValueOrDefault(-99), "entitykey", this.HttpContext.User.Identity as ClaimsIdentity,
                               "StpOrganizationEntity/StpOrganizationEntityUpdate", "EditStpOrganizationEntity", "StpOrganizationEntity/StpOrganizationEntityDelete", "DeleteStpOrganizationEntity",
                               "StpOrganizationEntity/StpOrganizationEntityDetails", "StpOrganizationEntityDetails")
                           }).ToList();