【问题标题】:How can I debug the parameters passed when using an inline sqldatasource?如何调试使用内联 sqldatasource 时传递的参数?
【发布时间】:2013-03-11 14:58:00
【问题描述】:
假设我在 .aspx 页面上有某种数据网格或中继器,并且我的数据源是内联定义的,例如:
<asp:SqlDataSource ID="ds1" runat="server" ConnectionString="..."
SelectCommand="some_proc" ...>
<SelectParameters>
<asp:ControlParameter ControlID="ddlYear" Name="Year" .. />
</SelectParameters>
</asp:SqlDataSource>
如何调试我的代码,以便我可以准确地看到 Year 绑定到网格时的值?
【问题讨论】:
标签:
c#
asp.net
sqldatasource
【解决方案1】:
您可以挂钩到 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 />");
}
}
当然,您可能希望将输出发送到调试窗口。