にGridView
関連付けられている がありSqlDataSource
ます。
をクリックするButton
と、 が変更され、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
。
をクリックする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 メソッドには何もありません。