如何在asp.net mvc视图中显示数据库记录
使用ASP.NET MVC和C#,如何将一些数据库记录传递给View并以表格forms显示它们?
我需要知道如何从已返回到SqlDataReader对象的数据库传输/传递一些记录行,并将该对象传递给View,这样我就可以使用foreach显示View中对象所包含的所有记录。
以下代码是我正在尝试做的事情。 但它不起作用。
控制者:
public ActionResult Students() { String connectionString = ""; String sql = "SELECT * FROM students"; SqlCommand cmd = new SqlCommand(sql, connectionString); using(SqlConnection connectionString = new SqlConnection(connectionString)) { connectionString.Open(); SqlDataReader rdr = cmd.ExecuteReader(); } ViewData.Add("students", rdr); return View(); }
风景:
Student
1.首先创建一个将保存记录值的Model
。 例如:
public class Student { public string FirstName {get;set;} public string LastName {get;set;} public string Class {get;set;} .... }
2.然后将阅读器中的行加载到列表或其他内容:
public ActionResult Students() { String connectionString = ""; String sql = "SELECT * FROM students"; SqlCommand cmd = new SqlCommand(sql, conn); var model = new List(); using(SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while(rdr.Read()) { var student = new Student(); student.FirstName = rdr["FirstName"]; student.LastName = rdr["LastName"]; student.Class = rdr["Class"]; .... model.Add(student); } } return View(model); }
3.最后在您的View
,声明您的模型类型:
@model List Student
First Name Last Name Class @foreach(var student in Model) { @student.FirstName @student.LastName @student.Class }
如果您不必使用sql阅读器,那么让控制器像这样更容易。
Controller.cs
private ConnectContext db = new ConnectContext(); public ActionResult Index() { return View(db.Tv.ToList()); }
ConnectContext.cs
public class ConnectContext : DbContext { public DbSet Student{ get; set; } }
这样您的连接字符串将在您的web.config中,View + Model将保持不变。
- Google Drive Api – 带有entity framework的自定义IDataStore
- 级联下拉列表MVC 3 C#
- 如何在MVC 4.0中的View页面上遍历两个viewbag项目
- 在MVCrazor回来后,maintaning下降选定状态?
- cshtml中的OpenFileDialog
- FormsAuthentication.Decrypt始终在其中一个Web服务器中返回null
- 无法让我的DropDownListFor在下拉菜单中选择一个选定的SelectListItem项
- SQL语句的某些部分嵌套太深。 重写查询或将其分解为较小的查询
- AutoMapper.dll中出现“AutoMapper.AutoMapperMappingException”类型的例外,但未在用户代码中处理