2011-08-12 3 views
2

私は2つのCheckBoxListを持っており、他のCheckBoxListで選択された項目に応じて、CheckBoxListの1つで選択されたListItemを設定できる必要があります。ポストバックをトリガしたCheckBoxList内でListItemを取得する方法はありますか?

CheckBoxList内のどのListItemがポストバックを発行したかをどのように知ることができますか?メソッドはサーバーで実行する必要があります。

ソリューションUPDATE:私は(四のおかげで)使用

最終的な解決策:

のSelectedItemがクリックされたのListItemある
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var selectedItem = CheckBoxList1.SelectedItem; 
} 

答えて

1

はるかに簡単:

var selectedItem = CheckBoxList1.SelectedItem; 
+0

これはあまりにも多く:))ありがとう:Dそれははるかに簡単です:D –

+0

問題はありません、私は常に.NETの問題にこのようなソリューションがあることを試みます。簡単な作業のためにコードを書くときは、そのようなものを見逃していることがよくあります。 – Four

+0

ええ、それは本当です:)それは基本的な機能だったので、単純な原因になっている必要があります、私はこれを覚えておく必要があります^^ –

2

TrueにAutoPostBackプロパティを設定し、作成し、サーバー上で実行する必要があるの変更:リストアイテムがチェックされているかを確認するにはHow to use AutoPostBack feature in CheckBoxList

<asp:CheckBoxList 
     ID="CheckBoxList1" 
     runat="server" 
     AutoPostBack="true" 
     OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChnaged" 
> 

次のように、あなたがCheckBoxListのを反復処理することができます

protected void CheckBoxList1_SelectedIndexChnaged(object sender, System.EventArgs e) 
{ 
    Label1.Text = "You Selected:<br /><i>"; 
    foreach (ListItem li in CheckBoxList1.Items) 
    { 
     if (li.Selected == true) 
     { 
      Label1.Text += li.Text + "<br />"; 
     } 
    } 
    Label1.Text += "</i>"; 
} 
は、すべてのListItemを反復処理せずに確認したのListItemの値を取得するには、次の操作を行うことができます

現時点では、実際にListItemがチェックされているので、何でも構いません。

+0

私は私が私がそれを知っている –

+0

をクリックしたのListItemにアクセスすることを可能にするイベントを必要とするが、私は状態変数を使用せずに未チェック/確認された項目、特に知っておく必要があります:) –

+0

@RăzvanPanda:私はあなたにチェックされている実際のListItemを与えるために私の答えを更新しました。 –

関連する問題