0

我有一个带有列的gridview:,,,和id一个文本 框:nameaddressphone
NameFilter

我的 gridview 由 SqlDataSource 控制器填充。

我需要过滤我的 gridview 寄存器name

我正在尝试使用“FilterParameters”,但我不知道为什么这不起作用。

名称过滤器

<asp:TextBox ID="NameFilter" runat="server" Text="1"></asp:TextBox>

SqlDataSource

    <asp:TextBox ID="NameFilter" runat="server"></asp:TextBox>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:okadConnectionString %>" 
        ProviderName="<%$ ConnectionStrings:okadConnectionString.ProviderName %>" 
        SelectCommand="SELECT * FROM factory">
    </asp:SqlDataSource>
4

1 回答 1

1

By using the FilterParameters you just create the SQL parameters, but to make them usable you need to include also the FilterExpression.

for example you also need to add:
FilterExpression="name='{0}'"

reference: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.filterparameters.aspx

Alternative you can add <SelectParameters> as

<SelectParameters>
     <asp:ControlParameter ControlID="NameFilter" Name="name"
          PropertyName="Text" Type="String" />
</SelectParameters>

and use : SelectCommand = "SELECT * FROM factory WHERE name=@name"

于 2013-05-05T17:33:19.687 回答