在我的 VB.net ASP 应用程序中,我有一些 ASPTREEVIEW,在页面加载时有一个标签,我设置了一些值。单击任何行后,我会捕获该值并将其分配给标签。
但是突然之间,该标签值没有按所选值更新。好像我通过调试值来检查它,值会发生变化,但是当我使用 Lable.text = selected_value... 时它会设置值,但它实际上并没有在 html 页面上发生变化。HTML 显示旧值。
会有什么问题,我不明白。
Imports DevExpress
Imports DevExpress.Xpo
Imports DevExpress.Data
Imports DevExpress.Data.Filtering
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page
    Public testvar As Integer = 35
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim xpcol As New XPCollection(Of WCSOEE.WcsGCObject)
        Dim GCObj1 As WCSOEE.WcsGCObject
        Dim Filter1 As New DevExpress.XtraCharts.DataFilter
        Dim SelectedGCObject As WCSOEE.WcsGCObject
        Filter1.ColumnName = "Oid"
        Filter1.Condition = XtraCharts.DataFilterCondition.Equal
        Filter1.Value = Label2.Text
        If Label2.Text = "" Then
            Label2.Text = 10
        End If
        For Each Siris As DevExpress.XtraCharts.Series In WebChartControl1.Series
            '  WebChartControl1.Series(Siris.Name).DataFilters.Item(0).Value = CInt(Label2.Text)
        Next
        Dim masterKeyvalue As DevExpress.Web.ASPxTreeList.TreeListNode = ASPxTreeList1.FocusedNode
        If masterKeyvalue IsNot Nothing Then
            SelectedGCObject = masterKeyvalue.DataItem
        Else
            SelectedGCObject = xpcol.Object(31)
        End If
        ' MsgBox(SelectedGCObject.GCName)
        MsgBox(Label2.Text)
        If IsPostBack = False Then
            Label2.Text = calculatehours(SelectedGCObject.Oid)
        End If
    End Sub
    Protected Function calculatehours(Oid As Integer)
        xpocolLogAvailability.Session = DevExpress.Xpo.XpoDefault.Session
        Dim logavail As New XPCollection(Of WCSOEE.LogAvailability)
        Dim gcobjlist As New XPCollection(Of WCSOEE.WcsGCObject)
        gcobjlist.Filter = CriteriaOperator.Parse("[Oid]=?", Oid)
        Dim filter As CriteriaOperator
        Dim ds As New DataTable
        Dim Series As New DevExpress.XtraCharts.Series
        Dim Filter1 As New DevExpress.XtraCharts.DataFilter
        ' Label2.Text = Oid
        logavail.Filter = CriteriaOperator.Parse("GCObject.Oid=?", Oid)
        Filter1.ColumnName = "Oid"
        Filter1.Condition = XtraCharts.DataFilterCondition.Equal
        Filter1.Value = Oid
        Dim arr1(32) As Long
        'For i As Int16 = 1 To 32
        '    arr1(i) = 0
        'Next
        'For Each gcobj As WCSOEE.LogAvailability In logavail
        '    arr1(gcobj.Status) = arr1(gcobj.Status) + gcobj.Duration
        'Next= ""
        'ds.Columns.Add(New DataColumn("Name", System.Type.GetType("System.Int32")))
        For Each Siris As DevExpress.XtraCharts.Series In WebChartControl1.Series
            WebChartControl1.Series(Siris.Name).DataFilters.Item(0).Value = Oid
        Next
        WebChartControl1.RefreshData()
        'For i As Int16 = 1 To 32
        '    ds.Rows.Add(i, arr1(i))
        'Next
        'ASPxListBox1.DataSource = ds
        'ASPxListBox1.DataBind()
        Return Oid
    End Function
    Protected Sub ASPxTreeList1_CustomCallback(sender As Object, e As DevExpress.Web.ASPxTreeList.TreeListCustomCallbackEventArgs) Handles ASPxTreeList1.CustomCallback
    End Sub
    Protected Sub ASPxTreeList1_FocusedNodeChanged(sender As Object, e As System.EventArgs) Handles ASPxTreeList1.FocusedNodeChanged
        Dim masterKeyvalue As DevExpress.Web.ASPxTreeList.TreeListNode = ASPxTreeList1.FocusedNode
        Dim SelectedGCObject As WCSOEE.WcsGCObject = masterKeyvalue.DataItem
        ' MsgBox(SelectedGCObject.GCName)
        If IsPostBack Then
            Label2.Text = calculatehours(SelectedGCObject.Oid)
        End If
        MsgBox(IsPostBack)
        MsgBox(Label2.Text)
    End Sub
End Class