C# html使用三层架构将后端得到的数据库的teacher表的数据显示在前端页面
时间: 2024-03-01 09:50:48 浏览: 181
C#+.net.zip_. net数据库_C# 三层架构和数据库的应用
以C#和ASP.NET MVC框架为例,以下是一个简单的示例:
1. 数据访问层
数据访问层负责与数据库进行交互,定义了用于数据操作的方法。例如:
```csharp
public class TeacherRepository
{
// 连接数据库
private SqlConnection connection = new SqlConnection("connection string");
// 获取数据
public List<Teacher> GetTeachers()
{
List<Teacher> teachers = new List<Teacher>();
// 打开数据库连接
connection.Open();
// 执行SQL语句,获取数据
SqlCommand command = new SqlCommand("SELECT * FROM teacher", connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Teacher teacher = new Teacher();
teacher.Id = reader.GetInt32(0);
teacher.Name = reader.GetString(1);
teacher.Title = reader.GetString(2);
teacher.Department = reader.GetString(3);
teachers.Add(teacher);
}
// 关闭数据库连接
reader.Close();
connection.Close();
return teachers;
}
}
```
在这个数据访问层中,我们定义了一个名为TeacherRepository的类,用于获取数据库中的teacher表数据。我们使用了SQL语句来执行查询操作,并使用SqlDataReader对象来遍历查询结果,并将查询结果转换为Teacher对象并添加到List中,最后返回List。
2. 业务逻辑层
业务逻辑层负责处理业务逻辑,对数据进行处理和计算,并调用数据访问层来获取数据。例如:
```csharp
public class TeacherService
{
private TeacherRepository repository = new TeacherRepository();
// 获取数据
public List<Teacher> GetTeachers()
{
return repository.GetTeachers();
}
}
```
在这个业务逻辑层中,我们定义了一个名为TeacherService的类,用于处理业务逻辑。我们调用了数据访问层中的GetTeachers方法来获取teacher表的数据,并返回查询结果。
3. 表示层
表示层负责与用户进行交互,接收用户的请求,并调用业务逻辑层来处理请求并获取数据。例如:
```csharp
public class TeacherController : Controller
{
private TeacherService service = new TeacherService();
// 获取数据
public ActionResult Index()
{
List<Teacher> teachers = service.GetTeachers();
return View(teachers);
}
}
```
在这个表示层中,我们定义了一个名为TeacherController的控制器,用于处理用户的请求。我们调用了业务逻辑层中的GetTeachers方法来获取teacher表的数据,并将数据传递给视图。
4. 视图
视图负责将数据显示给用户。例如:
```html
@model List<Teacher>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>职称</th>
<th>所在系</th>
</tr>
</thead>
<tbody>
@foreach (var teacher in Model)
{
<tr>
<td>@teacher.Id</td>
<td>@teacher.Name</td>
<td>@teacher.Title</td>
<td>@teacher.Department</td>
</tr>
}
</tbody>
</table>
```
在这个视图中,我们定义了一个表格,用于显示从后端传递过来的teacher表数据。我们使用了Razor语法来绑定HTML页面和后端传递过来的数据,使用@foreach循环来遍历数据,并使用@teacher.Id、@teacher.Name等语法来显示数据的具体字段。
综上所述,使用三层架构将后端得到的数据库的teacher表的数据显示在前端页面,可以实现代码的分层和复用,更加灵活和易于维护。
阅读全文