0

Oracleストアドプロシージャを介してデータテーブルにデータをロードすることを含むいくつかのドロップダウンリストにデータをロードする必要があります.しかし、これにより、ポストバックごとにページのロードが遅くなります. ページの読み込みを高速化するには、どの手法を使用する必要がありますか。

理解を深めるために、ここでインスタンスを引用します

  1. Oracle接続とストアドプロシージャを使用してデータテーブルをロードします。
  2. このデータテーブルのコンテンツをドロップダウンリストにロードします
  3. この 1 つのドロップダウンリストを選択すると、上記の手順を使用して、もう 1 つのドロップダウンリストが入力されます。

ここでの質問は、チューニング手法を使用したり、新しい手法を実装したりして、ページの読み込みを高速化する方法です。私の質問は、asp.net 2.0 フレームワークに固有のものです。

前もって感謝します。

4

2 に答える 2

0

コードを確認せずに、ポストバックの読み込み時間に関する懸念 (「... ポストバックごとに遅い」) を考慮することなく、ASP.NET ViewState機能を利用して、ドロップダウン リストのみを設定することをお勧めします。最初のページの読み込み中に 1 回、その後のポストバック中に ASP.NET がその状態 (アイテムと選択された値) を復元できるようにします。次のような疑似コードは、トリックを実行できます。

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    LoadData();
  }
}

private void LoadData()
{
  // this.List1 refers to the DropDownList control defined in your page markup
  DropDownList list = this.List1; 

  IList<Tuple<string, string>> items = /* Getting items from the database */;
  int selectedItemIndex = /* Getting the selected item index */;

  for (int i = 0; i < items.Count; i++)
  {
    list.Items.Add(new ListItem(items[i].Item1, items[i].Item2, i == selectedItemIndex));
  }
}

お役に立てれば。

PSこの種の質問をするときは、関連するコードスニペットを投稿してください。そうしないと、問題が見た目とは異なる可能性があるため、何かを提案するのが非常に難しいためです:-)

于 2013-04-16T06:32:27.450 に答える