asp.net ボートに乗り込んだばかりです。
ページネーションを使用して(データセットをデータソースとして)グリッドビューに最初にいくつかのデータを表示するasp.netページがあります。また、挿入または更新を実行するためのテキストボックスはほとんどありません (グリッドビュー自体の編集/挿入オプションについて尋ねないでください!!)。
データセットを保存する適切な場所に関するガイダンスはほとんど必要ありません。
ビューステートを使用してデータセットを保存する単純化されたコードビハインド ファイルを投稿していますが、これは好きではありません。
enter code here
class xyx : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridBind();
}
}
protected void InsertUpdateButton_Click(object sender, EventArgs e)
{
1.perform insert or update data in the database
2.GridBind();
}
protected void GridView1_PageIndexChanged(object sender, EventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.SelectedIndex = -1;
GridView1.DataSource = (DataSet)ViewState["DataSet"];
GridView1.DataBind();
}
private void GridBind()
{
DataSet ds = getDataFromDataBase();
GridwView1.DataSource = ds;
GridView1.DataBind();
ViewState["DataSet"] = ds;
}
}
ビューステートとは別に、データセットを保存するための最良の選択は何ですか??...
毎回データベースからデータを取得する
すべてのページのすべてのデータセットに共通のセッション変数 Session["DataSet"] を使用します (同じシナリオのページが他にもいくつかあります)。
キャッシュを使用
セッションまたはキャッシュを含めたのは、ユーザーがデータを挿入または更新するのではなく、データを表示しているだけである可能性が高いためです。
また、GridBind() を呼び出す代わりにボタン クリック イベントで、データベースからデータを再度取得するのではなく、viewstate でデータセットを更新しただけでも問題ありませんか?
お気に入り -
DataSet ds = ViewSate["DataSet"] (or) Session["DataSet"] (or) Cache["DataSet"];
(perform updations or insertions upon the dataset)
Session(or)Cache(or)ViewState["DataSet"] = ds;