2016-03-28 21 views
-2

如何在MVC中使用SqlDataReader使用Razor视图显示数据? 我试过这样的事情。将数据显示在MVC中使用SqlDataReader查看

控制器代码: -

public ActionResult UserDetails(DashBoard dash) 
    {    
     using (var cn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString)) 
     { 
      String sql = "SELECT DU.UserRMN, MU.Name, DeptName, MgrID, TLeadID FROM Details_Users DU, Master_Users MU where DU.UserRMN=MU.UserRMN"; 
      SqlCommand cmd = new SqlCommand(sql, cn);   
      cn.Open(); 
      SqlDataReader rdr = cmd.ExecuteReader(); 
      List<DashBoard> model = new List<DashBoard>(); 
      while(rdr.Read()) 
      { 
       var details = new DashBoard(); 
       details.UserRMN = rdr["UserRMN"].ToString(); 
       details.Name = rdr["Name"].ToString(); 
       details.DeptID = rdr["DeptID"].ToString(); 
       details.MgrID = rdr["MgrID"].ToString(); 
       details.TLeadID = rdr["TLeadID"].ToString(); 
       model.Add(details); 
      } 
      return View(model); 
     } 
    } 
+3

那么你的问题是什么? –

回答

0

不知道你的问题是什么,但在这里是如何在你的模型对象传递给相应的视图。

修订通过添加视图名称要传递模型对象,然后作为第二个参数添加模型对象控制器的返回路线:

public ActionResult UserDetails(DashBoard dash) 
{ 

     using (var cn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString)) 
     { 
      String sql = "SELECT DU.UserRMN, MU.Name, DeptName, MgrID, TLeadID FROM Details_Users DU, Master_Users MU where DU.UserRMN=MU.UserRMN"; 
      SqlCommand cmd = new SqlCommand(sql, cn);   
      cn.Open(); 
      SqlDataReader rdr = cmd.ExecuteReader(); 
      List<DashBoard> model = new List<DashBoard>(); 
      while(rdr.Read()) 
      { 
       var details = new DashBoard(); 
       details.UserRMN = rdr["UserRMN"].ToString(); 
       details.Name = rdr["Name"].ToString(); 
       details.DeptID = rdr["DeptID"].ToString(); 
       details.MgrID = rdr["MgrID"].ToString(); 
       details.TLeadID = rdr["TLeadID"].ToString(); 
       model.Add(details); 
      } 
      return View("ViewName", model); 
     } 

你的观点应该是这样的:

 @model IEnumerable<Models.DashBoard> 
     @{ 
      ViewBag.Title = "Dashboard"; 
     } 

     <h2>Dashboard</h2> 

     @foreach(var item in Model){ 
      <div> 
       <li> 
        @item.Name 
       </li> 
       <li> 
        @item.DeptID 
       </li> 
       .... 
      </div> 
     }