使用SqlDataSource将参数发送到GridView

时间:2014-09-22 18:27:10

标签: c# asp.net gridview

我是Visual Studio的新手,来自Delphi。

我有一个GridVew,链接到SqlDataSource,如果没有过滤则可以正常工作。

当我尝试过滤它时,我什么都没得到。

这些是我的SelectParameters

 <SelectParameters>
     <asp:ControlParameter ControlID="lblPropertyName" DbType="String" DefaultValue="" Name="strPropertyName" PropertyName="Text" />
</SelectParameters>

在代码隐藏中,在Page_Load中,我得到了我希望网格过滤的值:

lblPropertyName.Text = strPropertyName;

似乎无法对GridView进行过滤,因为它不会显示任何内容。

有人可以抽出时间帮我解决这个问题吗?

从评论中添加编辑的代码

在“来源”页面中:

<SelectParameters> 
      <asp:ControlParameter ControlID="lblPropertyName" DbType="String" DefaultValue="" Name="strPropertyName" PropertyName="Text" /> 
</SelectParameters> 

背后的代码:

foreach (string propertyName in result) 
{ 
   strPropertyName = propertyName; 
}
 lblPropertyName.Text = strPropertyName; 

1 个答案:

答案 0 :(得分:0)

我认为你应该这样试试:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:conn %>"
    SelectCommand="SELECT * FROM Table_1 where [col1]=@col">
    <SelectParameters>
        <asp:ControlParameter ControlID="Label1" Name="col" PropertyName="Text" />
    </SelectParameters>
</asp:SqlDataSource>