List<M_Model.PageInfo>解释为强类型列表,何为强类型列表?这段代码的功能就是检索数据库中的表,并且将数据库中的表的每一条记录的信息都存储在“Model”中,然后将每一个“Model”放入“List<M_Model.PageInfo>”中,Model里有很多字段。
现在的问题是:List<M_Model.PageInfo>就像当于是一个“Model”的集合,用它和直接用DataTable有什么差别,有什么优势???代码如下:
/// <summary>
/// 返回角色权限信息(页面名字和权限匹配)
/// </summary>
/// <returns></returns>
public List<M_Model.PageInfo> GetLevelandValue()
{
List<M_Model.PageInfo> lt = new List<M_Model.PageInfo>();
DataTable dt = ReturnDataTable("PageInfo");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
M_Model.PageInfo md = new M_Model.PageInfo();
md.Pagename = dt.Rows[i]["PageName"].ToString();
md.Pageurl = dt.Rows[i]["PageUrl"].ToString();
md.Pagelevel = Convert.ToInt32(dt.Rows[i]["PageLevel"]);
lt.Add(md);
}
}
return lt;
}
现在的问题是:List<M_Model.PageInfo>就像当于是一个“Model”的集合,用它和直接用DataTable有什么差别,有什么优势???代码如下:
/// <summary>
/// 返回角色权限信息(页面名字和权限匹配)
/// </summary>
/// <returns></returns>
public List<M_Model.PageInfo> GetLevelandValue()
{
List<M_Model.PageInfo> lt = new List<M_Model.PageInfo>();
DataTable dt = ReturnDataTable("PageInfo");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
M_Model.PageInfo md = new M_Model.PageInfo();
md.Pagename = dt.Rows[i]["PageName"].ToString();
md.Pageurl = dt.Rows[i]["PageUrl"].ToString();
md.Pagelevel = Convert.ToInt32(dt.Rows[i]["PageLevel"]);
lt.Add(md);
}
}
return lt;
}
解决方案 »
- 怎样使用jquery datapicker
- asp.net页面传值的问题
- 支付宝怎么弄。
- 模板列取值问题,高手请帮忙!
- 网站发布问题题 未将对象引用设置到对象的实例
- 没有.cs文件的asp.net 代码放在哪???
- 一个比较奇怪的问题~~关于数据库读取HTML的
- 新手问两个打包的问题!!
- 怪事了,为什么我的dropdownlist的值明明选上了,可是为什么读出来显示给lable还是为空呢?
- 我是用EditPlus写ASP.NET AND C# ,我不会页面设计,页面设计都是在以前别人的ASP页面上改出来的,我想问大家这样下去行吗?
- 泛型啥意思
- Response.Cache.SetNoStore();这一句是什么意思
有很多ToString 和类型转换对不对...
md.Pagename = dt.Rows[i]["PageName"].ToString();
md.Pageurl = dt.Rows[i]["PageUrl"].ToString();
md.Pagelevel = Convert.ToInt32(dt.Rows[i]["PageLevel"]);如果你是返回DataTable的话,那么如果要读取只有的几个值又要这样To来To去的
["PageName"] 这里面的字符串还很容易写错 对不对 对不对 有没有 有没有
如果数据库某天改字段了 你就体会到什么叫蛋疼!!!!!那么现在返回的List<T> 强类型的外面使用的人就可以List<M_Model.PageInfo> listMPI=GetLevelandValue();
然后string aa= listMPI[7].Pagename;
int bb= listMIP[7].Pagelevel;
强类型的哦
不用To来To去的哦 对不对 对不对 有没有 有没有而且某天数据库修改字段了 你该一下实体类 编译的时候就会报错,然后根据报错的地方修改所以 强类型的好处
1. 减少类型转换
2. 运行前报错(也就是编译的时候)
.........敲得很辛苦 给分 谢谢 ^_^