要建立一个产品类别Category的DropDownList,Category在sql数据库里面,今天用了一个比较好的方法在这里记录一下
.
建立一个Category类.CategoryClass.cs
![]()
CategoryClass.cs
using System;
namespace Model
![]()
![]()
{
public class Category
![]()
{
int m_ID;
string m_Category;
public Category()
![]()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public Category(int p_ID, string p_Category)
![]()
{
m_ID = p_ID;
m_Category = p_Category;
}
public int AttributeID
![]()
{
get
![]()
{
return m_ID;
}
set
![]()
{
m_ID = value;
}
}
public string AttributeCategory
![]()
{
get
![]()
{
return m_Category;
}
set
![]()
{
m_Category = value;
}
}
}
}
2.建立一个访问数据的类 DataManagerBLL.cs
![]()
DataManager.cs
using System;
using System.Data;
using System.Collections.Generic;
using System.ComponentModel;
using DAL;
using Model;
namespace BLL
{
[DataObject]
public class DataManagerBLL
{
//获取产品类别列表
DataManager dm = new DataManager();
[DataObjectMethod(DataObjectMethodType.Select, false)]
public List<Category> GetCategoryList()
{
return dm.GetACraegoryList();
}
}
}
数据访问类
![]()
Code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.ComponentModel;
using Model;
namespace DAL
{
/// <summary>
/// DataManager 的摘要说明
/// </summary>
[DataObject]
public class DataManager
{
DataConn dataconn = new DataConn();
public List<Category> GetACraegoryList()
{
List<Category> category = new List<Category>();
SqlConnection conn = dataconn.GetConn();
SqlCommand cmd = new SqlCommand("GetACraegoryList", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
//category = (List<Category>)(ds.Tables[0]);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Category cate = new Category();
cate.AttributeID = Int32.Parse( ds.Tables[0].Rows[i]["ID"].ToString());
cate.AttributeCategory = ds.Tables[0].Rows[i]["Category"].ToString();
category.Add(cate);
}
return category;
}
da.Fill(ds)返回的是一个Table,Table[0]是我们查到的结果,Table[0]的每一行是一个Category结果集,包括一列n行id和一列n行Category,直接转换为List是转换不了的,需要从Tables[0]里面实例化每一个Category就是上面for循环做的事情
最后在VS 2005中 用ObjectDataSource绑定后,ddl直接使用就可以拉