2012-05-04 43 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

請現在再看看我的問題.. –