如何使用MVC中的SqlDataReader使用Razor视图显示数据? 我尝试过这样的事情。
控制器代码: -
C#
答案 0 :(得分:2)
不确定您的问题是什么,但这里是如何将您的模型对象传递到相应的视图。
通过添加要传递模型对象的视图名称来修改控制器的返回行,然后作为第二个参数添加模型对象:
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>
}