ASP.net - 用于过滤 Gridview 的文本框输入

ASP.net - TextBox input to filter Gridview

我有一个 GridView 结合来自 SQL 服务器的数据。

我希望 GridView 仅通过选择电影的第一个字母来显示所有电影和客户的姓名和姓氏。用户将在文本框中输入第一个字母。

我认为<asp:ControlParameter可以用在这里,但我不知道如何。

这是它的设计:

搜索论坛,我找到了类似这个解决方案,但它给了我一个错误 - System.NullReferenceException:

    protected void Button1_Click(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(TextBox1.Text))
    {
        (GridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("FirstName LIKE '{0}%'", TextBox1.Text);
    }
}

很高兴提供一些线索,

提前致谢!

我找到了解决方案 - 如何使用 <asp:ControlParameter :

<asp:SqlDataSource ID="SqlDataSource_Movie" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" SelectCommand="(long generated code, than)--> WHERE (MovieName LIKE @Text + '%') ORDER BY FirstName ASC">
        <SelectParameters>    <asp:ControlParameter  ControlID="TextBox1" Name="Text"/>   </SelectParameters>
        </asp:SqlDataSource>

现在我可以输入电影的第一个字母,它会过滤 GridView 以显示所有租用以这个字母开头的电影的用户。

谢谢