我知道标题含糊不清,所以我会在这里完整地解释我的问题..
所以,我正在运行VB.net 3.5。我有一个动态的服务器名称列表,我想把它们放在CheckBoxList
中。列表已填充,并使用相同的列表,我列出了每个列出的服务器的性能。我希望能够选中并取消选中代表服务器的复选框,当我点击更新按钮时,它将创建一个新图形,并仅绘制仍然检查的服务器。我注意到在处理按钮点击之前页面仍然加载,因此CheckBoxList
会重新填充自己,然后才能读取当前的CheckBoxList
。有没有人对此有任何意见?
这是我的负担。我在ShowView()
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
我使用简单的for循环加载我的checkboxlist
For each one As String in ServerList
chkboxList.Items.Add(one)
Next
当我为更新按钮执行事件处理程序时,我想尝试保留checkboxlist值。
Private Sub btnUpdateGraph_Click(sender As Object, e As System.EventArgs) Handles btnUpdateGraph.Click
'insert code
End Sub
答案 0 :(得分:0)
您是否填写了form.load上的复选框列表?如果是这样,请确保检查是否Page.ispostback。仅当它不是回发时才加载复选框列表。这将确保单击时不重新加载页面(和复选框列表)。
另外,请不要舔更新按钮。他们真的不喜欢这样!
答案 1 :(得分:0)
我相信你在PageLoad Event上绑定了CheckboxList。只需将代码放在给定的代码块中:
if(!IsPostback)
{
// Bind your Checkbox List here
}
如果页面首次加载,而不是在任何回发之后,这将绑定您的复选框列表。
我希望这会帮助你。