我们尝试一下ASP.NET MVC项目中展示数据查询的结果,比如一个用户列表。
方法1:把每一个用户的数据存入一个用户类,然后集成一个用户类的LIST,然后循环展示。
第一步:写一个用户类,在数据库建立表并插入测试数据(忽略)
在Model目录下,新建类文件User.cs,代码如下:(字段是随意设置的),
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace mvc2.Models
{
public class User
{
public int Id { set; get; }
public string UserCode { set; get; }
public string RoleCode { set; get; }
public string UserName { set; get; }
public string Password { set; get; }
public string Name { set; get; }
public DateTime cdt { set; get; }
}
}
第二步:编写数据查询代码
在Model目录下,新建类文件Dbs.cs,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace mvc2.Models
{
public class Dbs
{
//引用Web.config文件中配置的链接字符串
public static string SqlCon =Convert.ToString(System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"]);
/// <summary>
/// 查询所有用户
/// </summary>
/// <returns>用户类集合</returns>
public List<User> UserList()
{
using (SqlConnection conn = new SqlConnection(SqlCon))
{
SqlCommand cmd = new SqlCommand(); //新建数据库操作类
cmd.Connection = conn; //设置数据链接
cmd.CommandText = "SELECT * FROM t_Users"; //设置查询语句
conn.Open(); //打开数据库连接
SqlDataReader dr = cmd.ExecuteReader(); //执行Reader查询,存入dr
List<User> u1= new List<User>(); //新建一个User类的集合
while(dr.Read())//遍历dr
{
User u0 = new User(); //临时User类变量u0
//把查询的当前记录各字段值赋值给对于的u0的属性
u0.UserCode = dr["UserCode"].ToString();
u0.UserName = dr["UserName"].ToString();
u0.Password = dr["Password"].ToString();
u0.Name = dr["Name"].ToString();
u0.Id = int.Parse(dr["Id"].ToString());
u0.cdt = DateTime.Parse(dr["cdt"].ToString());
u1.Add(u0);//把有数据的u0加入到User类的集合
}
//循环结束后,每一个用户数据都会被加入到用户类集合u1,最后返回u1
return u1;
}
}
}
}
第三步:写一个Views页面 List.cshtml,代码如下:
最终效果展示如下:
以上代码并不完善和完美,仅仅作为数据查询和展示方法记录一下。