2012-05-17 76 views
0

我有一個控制器,它根據我提供的StudentID顯示一個視圖中的CourseID列表。這裏是控制器操作:在同一控制器動作的視圖中顯示不同的結果

public ActionResult ShowCourseId(int StudentId) 
{ 
    ViewData.Model = from c in course.vwCourse.Where(s => s.StudentID == StudentId) 
        group c by c.CourseID into g 
        select g.FirstOrDefault(); 

    return View(); 
} 

上述控制器可顯示一個或多個CourseID的視場數的學生必須提供他或她的購物車。現在,如果學生在他或她的購物車中沒有課程,我想顯示所有課程。我可以在相同的控制器操作中實現這一點嗎?或者我是否需要額外的控制器操作來顯示所有課程?

在此先感謝

回答

1

當然,你可能只是需要給模型不同的數據,只要類型每套都是一樣的。如果空車/顯示所有課程的類型不同,您還可以告訴框架顯示與「所有課程」模型對應的不同視圖。

我不知道如何你的對象模型建立,但這裏是一個黑客的想法,如果這兩套當然對象的集合:

public ActionResult ShowCourseId(int StudentId) 
{ 
    var studentCourses = (from c in course.vwCourse 
          where c.StudentID == StudentId 
          group c by c.CourseID into g 
          select g.FirstOrDefault()).ToList(); 

    if(studentCourses == null || !studentCourses .Any()) 
    { 
     studentCourses = (from c in course.vwCourse 
          group c by c.CourseID into g 
          select g.FirstOrDefault()).ToList(); 
    } 

    ViewData.Model = studentCourses; 
    return View(); 
} 

什麼類型的第一個查詢還給?它是一個課程集合嗎?

+0

我們將它輸出到一個列表中,它不會總是一個集合嗎? – user793468

+0

這是更多的問題,如果它是列表 vs列表或類似的東西。如果他們是同一個對象,我無法得出結論。 –

相關問題