2

私のVB.netASPアプリケーションには、ページの読み込み時にラベルがあり、それに値を設定する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
4

1 に答える 1

1

コードを投稿して、これまで何も表示せずに、現在のリクエストがポストバックでない場合にのみラベルテキストを適用するようにページロードにIfステートメントがあることを確認してください。そうでない場合、ラベルは次のように設定されます。これはすべてのリクエストで。

If Not IsPostBack() Then
   lblSomeLabel.Text = "Page load text"
End If
于 2013-01-15T19:28:32.523 に答える