2012-02-27 17 views
2

たら、ドロップダウンリストに項目を追加します。のみ、このように、私はページが読み込ま移入されるドロップダウンリストを持っている

protected void Page_Load(object sender, EventArgs e) 
{ 
     ddlCars.Items.Add("Ford"); 
     ddlCars.Items.Add("Chevy"); 
     ddlCars.Items.Add("BMW"); 
     ddlCars.Items.Add("Jeep"); 
     ddlCars.Items.Add("Nissan"); 

} 

、それが正常に動作しますが、ユーザーがドロップダウンリストの選択を変更したときリストは再生成され、ページがリロードされていて、これらの値が再追加されているため、同じ項目が2回表示されます。

これを防ぐにはどうすればよいでしょうか? AutoPostBackが有効なままになっていることが重要です。そのため、ユーザーの選択に基づいて情報を変更します。あなたは!Page.IsPostBackブロックにそのコードを配置する必要があり

おかげ

答えて

10

。これは、(ページが最初にロードされるときの)そのコードを一度に実行できるようになりますし、ページが原因ユーザーとの対話にサーバーにポストバックされるたびに無視され

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     ddlCars.Items.Add("Ford"); 
     ddlCars.Items.Add("Chevy"); 
     ddlCars.Items.Add("BMW"); 
     ddlCars.Items.Add("Jeep"); 
     ddlCars.Items.Add("Nissan"); 
    } 
} 

など

のために詳細については、MSDNのPage.IsPostBackを参照してください。

+0

とても簡単です!ありがとう、数分で受け入れる:) –

+0

@AndrewDeForestいいえ問題は、私が助けることができてうれしい) – jadarnel27

+0

@FishBasketGordoありがとう!私はそのタイプミスのためにインテリセンスを責める。 – jadarnel27

4
protected void Page_Load(object sender, EventArgs e) 
{ 
     if (!IsPostBack) {   
     ddlCars.Items.Add("Ford"); 
     ddlCars.Items.Add("Chevy"); 
     ddlCars.Items.Add("BMW"); 
     ddlCars.Items.Add("Jeep"); 
     ddlCars.Items.Add("Nissan"); 
     //ddlCars.datasource=? 
     //ddlCars.databind(); 
     } 
} 
関連する問題