2012-10-30 109 views
0

如何获取viewbag数据,我创建了一个控制器,该数据是从数据库中获取并尝试显示数据,但不显示数据。如何在Asp.net MVC中获取viewbag数据?

public ActionResult Show() 
    { 
     List<Models.Employees> lst = new List<Models.Employees>(); 
     Models.Employees obj = new Models.Employees(); 
     DataSet ds =new Models.BL.InsertBL().GetShow(obj); 
     lst = (from DataRow drw in ds.Tables[0].Rows 
       select new Models.Employees 
       { 
        Enames = drw["Ename"].ToString(), 
        DepartId =Convert .ToInt32(drw["Departmentid"]), 
        EmailIds = drw["Emailid"].ToString(), 
        Adress = drw["Address"].ToString() 
       }).ToList(); 
     ViewBag.Sasi = lst; 
     return View(); 
    } 

    @{ 
    ViewBag.Title = "Show"; 
    Layout = "~/Views/Shared/VideoLayout.cshtml"; 
     var vv = ViewBag.Sasi;  
    } 
+0

你应该显示一些代码 – Jan

+0

@foreach(在@vv VAR LST) { ​​ lst.Enames ​​ lst.DepartId ​​ lst.EmailIds ​​ lst.Adress } – Ssasidhar

+0

而我们什么问题? ViewBag.Sasi在你的视图中是null还是会发生什么?更好的方法是使用强类型视图并将模型类中的数据传递给视图。 – Jan

回答

2

在这种情况下,我会建议你强类型的观点:

return View(lst); 

,并考虑:

@model List<Models.Employees> 

你的问题,试试这个:

(List<Models.Employees>)ViewBag.Sasi 
+1

+1,用于建议强类型的方法。 viewbag和viewdata是不错的选择。 – Shyju

+0

是啊使用强类型我得到的数据,但我试图显示没有强类型的数据 – Ssasidhar