【发布时间】:2012-04-09 16:30:22
【问题描述】:
GridView(绑定到该SQL数据源)渲染后如何清除SQL数据源的SELECT参数?
编辑:
我想在 SQL 数据源选择的数据显示在 GridView 中后清除 SQL 数据源的 SELECT 参数,但清除与 GridView 关联的函数中的参数 DataBound 和 SQL 数据源 Selected 事件导致“必须声明标量变量”错误,表明执行 SELECT 查询时未定义参数。何时是清除 SELECT 参数的合适时间?
考虑以下代码,其中“Selected”与 SQL 数据源 Selected 事件相关联,该事件在选择命令完成后触发。这会导致“必须声明标量变量”错误。
static bool clearParams;
protected void Selected(object sender, EventArgs e) {
if (clearParams)
{
SqlDataSource1.SelectParameters.Clear();
clearParams = false;
}
}
protected void Button_Click(object sender, EventArgs e){
SqlDataSource1.SelectCommand = [a dynamically generated select command];
SqlDataSource1.SelectParameters.Add([various params are added]);
clearParams = true; // clear params after this select command
SqlDataSource1.Select(new DataSourceSelectArguments());
}
【问题讨论】: