如何动态给GridView添加数据源

本文介绍了一种在ASP.NET中动态设置控件数据源的方法,通过创建带参数的存储过程和自定义方法来实现控件的数据绑定,这种方法更加灵活且方便传递参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在asp.net中,给控件添加数据源,一般可以参用控件的数据源配置向导,但个人感觉,不够灵活,不方便传递参数。比与在建立objectdatasource时,参数源就只能选择:Cookie,Control,Form,Profile,Querystring和Session,就不能使用自定义变量(也许自己没有发现)。而我是这样给控件动态添加数据源的:

1、建立一带参数的存储过程

CREATE PROCEDURE GetCityList
(
 @ProvinceID char(2)
)
AS
 select  ssdh,City from GypCity where left(ssdh,2)=@ProvinceID

 

2、定义一方法,调用存储过程

public SqlDataReader GetCityList(string ProvinceID)
    {
        //实例化一个数据库连接对象
        SqlConnection MyConnection = new SqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]);

        //实例化一个使用MyConnection打开存储过程UserLogin的数据库命令对象
        SqlCommand MyCommand = new SqlCommand("GetCityList", MyConnection);

        //定义MyCommand为打开存储过程的数据库命令
        MyCommand.CommandType = CommandType.StoredProcedure;

        //为MyCommand添加输入参数@ProvinceID
        MyCommand.Parameters.Add("@ProvinceID", SqlDbType.Char, 2).Value =ProvinceID;

        //打开数据库连接
        MyConnection.Open();

        //执行数据库命令,并取得SqlDataReader
        SqlDataReader result=MyCommand.ExecuteReader(CommandBehavior.CloseConnection);

        //返回result
        return result;
    }

3、将方法的返回值定义为控件数据源,进行邦定

 

DataBaseConnection conn = new DataBaseConnection();
DropDownList_City.DataSource = conn.GetCityList(LoginedUserDetails.ssdh.Substring(0, 2));
DropDownList_City.DataTextField = "City";
DropDownList_City.DataValueField = "ssdh";
DropDownList_City.DataBind();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值