我有一个GridView
与SqlDataSource
.
当我单击 aButton
时,我更改了SelectCommand
,然后我使用DataBind
来更新GridView
.
PostBack 之后,我希望保留最新的数据,我不希望GridView
原始的SelectCommand
.
我知道这是由一个叫做 的东西完成的ViewState
,但我没有设法以正确的方式实现它。
我在网格本身上都试过了EnableViewState="true"
,但没有运气。EnableViewState="false"
代码
<asp:GridView ID="GridView1" ...... DataSourceID="UsersSource" >
<asp:SqlDataSource ID="UsersSource" ... SelectCommand="SELECT * FROM USERS"></asp:SqlDataSource>
在启动时,GridView
填充有 的结果SELECT * FROM USERS
。
现在我单击 a Button
,它执行以下操作:
UsersSource.SelectCommand = "SELECT * FROM USERS WHERE user_id = 1";
GridView1.DataBind();
用GridView
新数据填充。
现在假设,我点击一个表头对这个表进行排序,会有一个回发,在它之后,这个表中的数据将包含第一次查询的结果。
这里需要做什么?
更多信息
宣言:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Admin.aspx.cs" Inherits="Admin" %>
Page Load 方法中没有任何内容。