2016-03-04 60 views
0

我想只显示20 contractname的字符,该怎么做,在下列情况下?使用字符串和三元运算LINQ

OPM.Models.OPMLEntities obj = new OPM.Models.OPMLEntities(); 

var Contracts = obj.getUserContractss(UserID, p).ToList(); 
ViewBag.contracts = Contracts.OrderByDescending(s => s.contractId&&(s.contractName.Length>20?s.contractName.Substring(0, 20).Trim() + "..." : s.contractName)); 
+0

你给甚至不编译代码 - 你能指望什么's.contractId &&(某些字符串表达式)'做什么?你知道你现在只是指定*排序*吗? (我真的不认为你想在你的代码的顺序部分在做这个...) –

回答

1
OPM.Models.OPMLEntities obj = new OPM.Models.OPMLEntities(); 

var Contracts = obj.getUserContractss(UserID, p).ToList(); 
ViewBag.contracts = Contracts.OrderByDescending(s => s.contractId) 
    .Select(s.contractName.Length>20?s.contractName.Substring(0, 20).Trim() + "..." : s.contractName);