gpt4 book ai didi

c# - asp.net mvc View 中如何显示数据库记录

转载 作者:可可西里 更新时间:2023-11-01 07:49:10 24 4
gpt4 key购买 nike

在 C# 中使用 ASP.NET MVC,如何将一些数据库记录传递给 View 并以表格形式显示它们?

我需要知道如何从数据库传输/传递一些已返回到 SqlDataReader 对象的记录行,并将该对象传递给 View ,以便我可以使用以下命令在 View 中显示该对象包含的所有记录foreach.

下面的代码是我正在尝试做的。但它不起作用。

Controller :

public ActionResult Students()
{
String connectionString = "<THE CONNECTION STRING HERE>";
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();
}

View :

<h1>Student</h1>

<table>
<!-- How do I display the records here? -->
</table>

最佳答案

<强>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 = "<THE CONNECTION STRING HERE>";
String sql = "SELECT * FROM students";
SqlCommand cmd = new SqlCommand(sql, conn);

var model = new List<Student>();
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>

<h1>Student</h1>

<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Class</th>
</tr>
@foreach(var student in Model)
{
<tr>
<td>@student.FirstName</td>
<td>@student.LastName</td>
<td>@student.Class</td>
</tr>
}
</table>

关于c# - asp.net mvc View 中如何显示数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25279547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com