2013-02-21 94 views
0

你好,我有一个名为tableClass的类,它存储了一个名为totalHours的双变量。然后我想将这个变量放在只读属性中。问题是totalHours保持重置为0的值。不知道如果我声明变量错误或什么不是,我也尝试将值存储在viewstate中,并出现相同的问题。有什么建议么?任何问题都让我知道。谢谢!类变量不保持价值

表类

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" /> 
+0

嗯,你有一点点在这里。与调试器一起完成。 “hrsTextBox.Text”包含什么?你确认它被设置为0以外的值吗? – 2013-02-21 00:09:38

+0

我在这段代码中看不到任何对ViewState的使用 – Blachshma 2013-02-21 00:10:00

+0

另外,你确定你正在使用同一个类实例吗?它不是静态的类或属性。 – 2013-02-21 00:10:58

回答

1

你需要存储值不知何故,当它涉及到Web应用程序,这是一个好主意,无论是根据情况和您的需要使用ViewState或Session。 ViewState特定于页面,Session是特定于用户的。

+0

比我的更好的解决方案。必须是感冒药填塞我的脑袋:) – Tim 2013-02-21 00:39:08