2012-02-29 11 views
1

私はタイトルが曖昧であることを知っていますので、ここで私の問題を完全に説明します..CheckBoxListのステータスを変更しないでください。

私はVB.net 3.5を実行しています。私はサーバ名の動的リストを持っており、CheckBoxListに入れたいと思います。リストにデータが入力され、同じリストを使用して、リストされた各サーバーのパフォーマンスのグラフを作成します。私は、サーバーを表すチェックボックスをチェックしたり、チェックを外したりすることができるようにしたい。そして、更新ボタンをクリックすると、まだチェックされているサーバーだけが新しいグラフとグラフを作成する。私は、ボタンのクリックが処理される前にページがまだロードされていることに気づいたので、CheckBoxListは現在のCheckBoxListを読むことができる前に自分自身を再生成します。誰かがこれについて何か入力を持っていますか? これは私の負荷です。そして私は、私はループ

For each one As String in ServerList 
    chkboxList.Items.Add(one) 
Next 

ための簡単で自分のCheckBoxListをロード

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not Me.IsPostBack Then 
    If _myQSVar.Count = 0 Then 
      Calendar1.SelectedDate = Date.Now.Date.AddMonths(-6) 
      Calendar2.SelectedDate = Date.Now.Date 
     End If 
     tbFromDate.Text = Calendar1.SelectedDate.ToShortDateString() 
     tbToDate.Text = Calendar2.SelectedDate.ToShortDateString() 
     lstControls = New List(Of System.Web.UI.Control) 
     ShowView() 
    End If 
End Sub 

SHOWVIEW()内の私のCheckBoxListを投入し、私は、更新のためのイベントハンドラを実行する際のCheckBoxListの値を保持しようとしたいですボタン。

Private Sub btnUpdateGraph_Click(sender As Object, e As System.EventArgs) Handles btnUpdateGraph.Click 
'insert code 
End Sub 
+0

コードを投稿してください。おそらく、すべてのページが読み込まれると再バインドされているからです。あなたの問題を引き起こしている可能性のあることを指摘するコードを見れば、誰でも簡単に手助けすることができます。 – kd7

答えて

0

form.loadにチェックボックスリストを設定していますか?もしそうなら、Page.ispostbackがあるかどうかを確認してください。チェックボックスリストは、ポストバックでない場合にのみロードします。これにより、クリックするとページ(およびチェックボックスリスト)が再ロードされないことが確認されます。

また、更新ボタンを舐めないでください。彼らは本当にそれが好きではありません!

+0

Riiiight。彼らはおそらく私が更新ボタンを舐めるのが好きではないでしょう...そして、私はそれがポストバックでないかどうかをチェックするときにpage.loadのブロックの中にチェックボックスリストを設定します。 –

0

PageLoadイベントでCheckboxListを拘束していると思います。ただ、与えられたコードブロック内のコードを配置:

if(!IsPostback) 
{ 
// Bind your Checkbox List here 
} 

これは、ページが読み込ま初めてであれば、ない任意のポストバック後のみの場合には、あなたのCheckBoxListをバインドします。

私はこれがあなたを助けてくれることを願っています。

+0

だから私はちょうどそれがCheckBoxListの値を少なくとも同じに保つかどうかを見るためにページの単純なリフレッシュを試みた。 Poo。 –

+0

Checkboxlistプロパティ "EnableViewState"を確認してください。 trueに設定する必要があります。 – Sankalp

+0

ちょうどチェックされて、それはTrueにデフォルト設定されています。 –

関連する問題