【发布时间】:2011-07-19 02:21:26
【问题描述】:
我有一个 Gridview,我从一个接受 3 个参数的存储过程中填充它。第一个参数从表单变量 Request.Form["uid"] 中获取其值,第二个和第三个参数从 DropDownLists SelectedValue 属性中获取其值。如果从 DropDownLists 中未选择任何内容,则第二个和第三个参数应接受 NULL。我还将参数的 ConvertEmptyStringToNull 属性设置为 true。 Gridview 仍未填充。但是当我手动传递参数并从 SQL Server Management Studio 以及 Visual Studio 的测试查询窗口执行存储过程时,它工作正常。
Gridview 的我的 SQLDataSource 如下所示:
<asp:SqlDataSource ID="SqlGVDownloadHistory" CancelSelectOnNullParameter="false" runat="server" ConnectionString="<%$ ConnectionStrings:xxx %>"
SelectCommand="spDHR" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:FormParameter FormField="uid" Name="UIDUser" Type="String" />
<asp:ControlParameter ControlID="ddlSelectDocument" Name="FileName"
PropertyName="SelectedValue" Type="String" ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="ddlSelectCCO" Name="UIDSelect" PropertyName="SelectedValue"
Type="String" ConvertEmptyStringToNull="true" />
</SelectParameters>
</asp:SqlDataSource>
请帮忙!!
【问题讨论】:
-
感谢 Naveen 的这个提示。我是这个论坛的新手,所以不知道这一点。
-
是这样想的。您对答案非常敏感
-
你可以为你的gridview显示你的标记吗?您是否已确认您将 gridview 的数据源绑定到您创建的数据源?您能否至少显示存储过程的参数名称?