ASP.net2.0 SQLDataSource 取得存储过程返回参数


最近身边很多刚开始接触SQLDataSource控件的朋友都对它的强大功能和简单易用的特性而吸引。

但是SqlDataSource在提供提高易用性的同时难免会损失一定的灵活性,很多朋友就因为SQLDataSource控件的参数不能使用SQLParameter而耿耿于怀。

SqlDataSource控件使用的参数为Parameter,这个类功能对比SQLParameter类要简单很多,只有几个简单的属性,我们只能通过Parameter.DefaultValue这个字符串类型的属性设置参数,很不方便。

同事在一个项目中想通过SqlDataSource调用Sql Server存储过程,并接受存储过程的output参数,初期他使用了SqlDataSource.SelectParameter ["mypara"].DefaultValue的方式尝试取得数据,但都失败了,到网上搜索也没有找到合适的答案,经过反复尝试,终于成功,原来是只能 在SqlDataSource控件的OnSelected事件里通过调用SqlDataSourceStatusEventArgs参数获得存储过程的output参数,代码如下:

protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
Label1.Text = e.Command.Parameters["mypara"].Value.ToString();
}

希望对同样有需要用DataSource调用返回参数的朋友有帮助!

你可能感兴趣的:(dataSource)