gpt4 book ai didi

c# - 从存储过程填充 gridview 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:20 25 4
gpt4 key购买 nike

我有一个 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>

请帮忙!!

最佳答案

试试这个。

<asp:SqlDataSource ID="SqlGVDownloadHistory" runat="server" 
ConnectionString="<%$ ConnectionStrings:xxx %>"
SelectCommand="spDHR"
SelectCommandType="StoredProcedure"
OnSelecting="SqlGVDownloadHistory_Selecting">
<SelectParameters>
<asp:FormParameter FormField="uid" Name="UIDUser" Type="String" />
</SelectParameters>
</asp:SqlDataSource>

关于代码隐藏

protected void SqlGVDownloadHistory_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
SqlGVDownloadHistory.SelectParameters.Remove("FileName");
SqlGVDownloadHistory.SelectParameters.Remove("UIDSelect");
if (ddlSelectDocument.SelectedIndex > 0)
{
SqlGVDownloadHistory.SelectParameters.Add("FileName", ddlSelectDocument.SelectedValue);
}
if (ddlSelectCCO.SelectedIndex > 0)
{
SqlGVDownloadHistory.SelectParameters.Add("UIDSelect", ddlSelectCCO.SelectedValue);
}
}

想法是在数据检索操作发生之前设置参数。

根据 MSDN documentation on COntrolParameters ,我没有看到 asp:DropDownList Selectedvalue 被设置为 ControlValuePropertyAttribute

关于c# - 从存储过程填充 gridview 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com