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调用返回参数的朋友有帮助!
如果大家对本文有什么意见可以到编程论坛发表 http://www.programbbs.com/bbs
编程论坛原创,转载请注明出处,谢谢!