如何在使用内联sqldatasource时调试传递的参数?

问题描述:

说我有一些不大不小的.aspx页上的数据网格或中继器,而我的数据源联定义,如:如何在使用内联sqldatasource时调试传递的参数?

<asp:SqlDataSource ID="ds1" runat="server" ConnectionString="..." 
SelectCommand="some_proc" ...> 
    <SelectParameters> 
      <asp:ControlParameter ControlID="ddlYear" Name="Year" .. /> 
    </SelectParameters> 
</asp:SqlDataSource> 

如何调试我的代码,这样我就可以看到正是一年的价值,是当它绑定到网格?

您可以挂接到SqlDataSource的事件:

protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) 
{ 
    foreach (DbParameter P in e.Command.Parameters) 
    { 
     Response.Write(P.ParameterName + "<br />"); 
     Response.Write(P.DbType.ToString() + "<br />"); 
     Response.Write(P.Value.ToString() + "<br />"); 
    } 
} 

当然,你可能希望将输出发送到调试窗口。