2012-05-04 144 views
0

说我控制器像结果集过滤

IList <post> p =db.posts.Include("user").ToList(); 


     if (Request.Form["searchString"] != null)   
     { 
      if ((p!=null) && (p.Any())) 

      { 
       p =(p.Where(a=>a.area==Request 
       .Form["searchString"]).Tolist();         
      } 
     }   
     if (Request.Form["searchString2"] != null)   
     {    
      if ((p!=null) && (p.Any())) 

      { 


      p=(p.Where(a=>a.city==Request 
      .Form["searchString2"]).Tolist();            
      } 
     } 
     return View(p); 

一个动作在这里我第一次得到一个结果集(P)。那么我想通过一些标准过滤p,它给出了条件块内ToList()的错误。错误:有在后

+0

思路:

List <student> rs = db.students.Where(student => student.area == "Dhaka").ToList(); 

或?你的要求是什么?你有没有试过你写的代码?它有什么问题? –

+0

到目前为止,我可以看到你不需要列表。 IEnumerable的学生将会很好。 – Grunf

+0

请再次查看我的问题...... –

回答

0

没有定义tolist()这将是:

if ((rs!=null) && (rs.Any())) 
    { 
    rs = (from posts1 in rs where     
    posts1.area="Dhaka").ToList() ;        
    } 

只是考虑到,如果你打电话。 ToList()Any它会去DB(如果你使用的是ORM)

+0

它给出了条件块内ToList()的错误。错误:没有定义tolist()在后 –

+0

奇怪..根据您的代码它说“Tolist()”,也许它只是一个错字,正确的语法是“ToList()” – jorgehmv

0
var filteredRS=rs.Where(s=>s.area=="Dhaka").ToList(); 
+0

请现在看看我的再次提问... –

0

你可以直接进行过滤:什么

List <student> filtered = rs.Where(student => student.area == "Dhaka").ToList(); 
+0

那么,你需要在使用之前先声明'rs':'列表 rs = db.students.ToList();'。 –

+0

什么条件阻止?看看我的例子。没有任何条件块在任何地方。 –

+0

请现在再看看我的问题.. –