Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新GridView选择命令_C#_Asp.net_Gridview - Fatal编程技术网

C# 更新GridView选择命令

C# 更新GridView选择命令,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个gridView,它使用sourceDataSourceID=“SqlDataSource1” testPage.aspx: <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [Field1], [Field2], [Field3], [Fiel

我有一个gridView,它使用source
DataSourceID=“SqlDataSource1”

testPage.aspx:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ 
ConnectionStrings:ConnectionString %>" 
SelectCommand="SELECT [Field1], [Field2], [Field3], [Field4] FROM [Analysis]
ORDER BY [Field1] DESC">
</asp:SqlDataSource>
    protected void ctl04_ValueChanged(object sender, EventArgs e)
    {
        SqlDataSource1.SelectCommand = "SELECT [Field1], [Field2], 
        [Field3], [Field4] FROM [Analysis] WHERE [Field1] = 'items' ORDER BY 
        [Field1] DESC";
        gridView1.DataBind();
    }
事件激发并看起来运行正常,但gridView1不刷新/更新,仍然包含完整表的数据

有人能给点建议如何让它工作吗?
谢谢

我认为问题在于
回发
和页面加载。当页面打开并调用page_load方法时。然后使用default
SELECT
语句刷新
GridView
。您应该将刷新代码放入此代码中:

if (!Page.IsPostback)
{
   // Your Code
}

如何创建第二个sql数据源,您可以在它们之间切换。我认为这是因为回发

Try
GridView.DataSource=null操作。这将强制使用新的
SelectCommand
重新绑定
GridView
。这对我不起作用,它运行正常,但事件激发后gridView1仍然包含完整的表数据。谢谢。我删除了
ctl04\u ValueChanged
事件并添加了
AutoPostBack=“True”
然后将代码移动到
页面加载事件。