0

こんにちは、totalHoursというdouble変数を格納するtableClassというクラスがあります。次に、この変数を読み取り専用プロパティに配置します。問題は、totalHoursの値が0にリセットされ続けることです。変数を間違って宣言しているかどうかわからないので、値をビューステートに保存しようとしましたが、同じ問題が発生します。助言がありますか?ご不明な点がございましたらお知らせください。ありがとうございました!

テーブルクラス

Public Class tableClass
    Inherits System.Web.UI.Page
    Private TotalHours As Double = 0

    Private Sub AddNewRow(ByVal hrsTextBox as TextBox)

        TotalHours = TotalHours + CDbl(hrsTextBox.Text)
    End Sub

    ReadOnly Property RegHours() As Double
        'Returns the total hours so far recorded
        Get
            Return TotalHours
        End Get
        End Property
   End Class

デフォルト

Protected Sub btnAddDate_Click(sender As Object, e As EventArgs)
        dim dateTable as New tableClass

        dateTable.AddNewRow(hrsTextbox)
End Sub

 Protected Sub HoursChange(sender As Object, e As EventArgs)
            LabelHoursTotal.Text = (dateTable.RegHours + CDbl(TextBoxHours.Text)).ToString
 End Sub

aspx

<asp:TextBox ID="txtHours" runat="server" width ="90" Text = "0" AutoPostBack="True" OnTextChanged ="HoursChange"></asp:TextBox>

<asp:Label id="lblHoursTotal" runat="server" Text = "0"></asp:Label>

<asp:Button ID="btnAddHour" runat="server" Text="Add New Row" OnClick="btnAddHour_Click" />
4

1 に答える 1

1

何らかの方法で値を格納する必要があります。Webアプリケーションに関しては、状況とニーズに応じて、ViewStateまたはSessionのいずれかを使用することをお勧めします。ViewStateはページに固有であり、Sessionはユーザーに固有です。

于 2013-02-21T00:37:58.760 に答える