2016-03-28 22 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> 
     }