2012-05-17 124 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列表或类似的东西。如果他们是同一个对象,我无法得出结论。 –

相关问题