.net 如何通过更改SqlDataSource中的SelectCommand字符串来更新GridView

.net 如何通过更改SqlDataSource中的SelectCommand字符串来更新GridView,.net,mysql,gridview,sqldatasource,mysql-connector,.net,Mysql,Gridview,Sqldatasource,Mysql Connector,好的-我认为这应该很简单/基本,但我浏览了很多有类似问题的帖子,但仍然不清楚如何做到这一点 基本设置如下-我在页面上有一个名为product的文本框,可以在文本更改后发回 在页面加载中,我执行以下操作: protected void Page_Load(object sender, EventArgs e) { prods.SelectCommand = "SELECT id, pID, pName FROM prods WHERE (pID LIKE '%" + product.Text

好的-我认为这应该很简单/基本,但我浏览了很多有类似问题的帖子,但仍然不清楚如何做到这一点

基本设置如下-我在页面上有一个名为product的文本框,可以在文本更改后发回

在页面加载中,我执行以下操作:

protected void Page_Load(object sender, EventArgs e)
{
   prods.SelectCommand = "SELECT id, pID, pName FROM prods WHERE (pID LIKE '%" + product.Text + "%')";
   prodsTable.DataBind();
}
以上内容不会使用新的SelectCommand值更新表格。从其他一些帖子中,我认为这可能与页面加载事件序列有关,也许表绑定不会发生

顺便说一句,我还尝试使用下面的参数代码来实现这一点-这也不起作用。也许有一个简单的解决方案,相比之下,通过编程改变上述工作

提前感谢-我想让它以编程方式或参数化方式工作

完整代码如下:

<asp:TextBox ID="product" runat="server" AutoPostBack="True"></asp:TextBox>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataKeyNames="id" DataSourceID="prods" AllowPaging="True" 
     AllowSorting="True" AutoGenerateEditButton="True">
     <Columns>
          <asp:BoundField DataField="pID" HeaderText="Product ID" ReadOnly="True" 
               SortExpression="pID" />
          <asp:BoundField DataField="pName" HeaderText="Product Name" 
                SortExpression="pName" />
     </Columns>
</asp:GridView>

<asp:SqlDataSource ProviderName="MySql.Data.MySqlClient" ID="prods" runat="server" 
     CancelSelectOnNullParameter="false" ConnectionString="<%$ mystring %>" 
     SelectCommand="SELECT id, pID, pName FROM prods WHERE (pID LIKE '%@productFilter%')">
     <SelectParameters>
          <asp:ControlParameter ControlID="product" DefaultValue="" 
               Name="productFilter" PropertyName="Text" Type="String" />
     </SelectParameters>
</asp:SqlDataSource>

尝试以下操作:SelectCommand=SELECT id,pID,pName FROM prods,其中pID(如“%”++@productFilter++“%”

是您的第一行代码。SelectCommand?如果不是,什么是prods?Hi Malanie-prods是绑定到prodsTable(GridView表)的SqlDataSource。请发布所有代码。添加了完整代码-请帮助;我需要让它工作起来。谢谢。你好,尤里-谢谢你的回复。您的意思是将上述内容添加到C文件还是.aspx文件中我问这个问题的原因是因为我认为使用+连接字符串只能在C文件中工作,而对参数@productFilter的引用只能在.aspx文件中工作?我在.aspx文件中尝试了以下操作,但没有工作:SelectCommand=SELECT id,pID,pName FROM prods-WHERE-pID类似“%@productFilter%”