如何在使用内联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 />");
}
}
当然,你可能希望将输出发送到调试窗口。