0

ドロップダウンチェックリストプラグインを使用して、複数選択できるドロップダウンリストを作成しています。

ただし、使用後はすべてのポストバックで複製されるため、次のようになります。

ここに画像の説明を入力してください

なぜこれが起こっているのか、そしてそれを修正する方法を誰かが知っていますか?

更新:いくつかのコードを表示するリクエストについて:

Javascript:

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(load_lazyload);
    load_lazyload();
    ...
}

function load_lazyload() {
    $("#ContentPlaceHolder1_userControl1_listBoxMultiValueNumbers").dropdownchecklist();
    ...
}

C#:これはlistBoxがどのように入力されているかです:

listBoxMultiValueNumbers.DataTextField = ds.Tables[0].Columns["number"].Caption;
listBoxMultiValueNumbers.DataValueField = ds.Tables[0].Columns["number"].Caption;
listBoxMultiValueNumbers.DataSource = ds;
listBoxMultiValueNumbers.DataBind();
listBoxMultiValueNumbers.Items.Insert(0, new ListItem("Select numbers", "-1"));
UpdatePanelUCCNFT.Update();
4

3 に答える 3

1

ポストバック イベントを使用せずに、ページの読み込み時にドロップダウンを読み込んだと思います。そのため、毎回バインドされます。

use page_load()
{
  if(!ispostback)
  {
     //load your dropdown here
  }    
}
于 2012-07-31T13:40:56.210 に答える
0

まだ問題があるかどうかはわかりません。ポストバックのたびにドロップダウンリストが複製されるという同様の問題が発生しました。これは私の問題を解決しました

fillDropDownList()
{
 String selectValue = DropDownList.SelectedValue();
 DropDownList.Items.Clear(); // to clear the duplicates
 DropDownList.SelectedValue = selectValue; // to restore previously selected value
 DropDownList.Items.Insert("0", New ListItem(" Select ", ""));
 DropDownList.DataBind();
}

page_load で

if (Page.IsPostBack)
  {
   fillDropDownList();
  }

これが役立つことを願っています!

于 2012-09-18T16:37:44.087 に答える