我对课程和 OOP 完全陌生,所以请多多包涵。
我正在创建一个大型网络应用程序,我试图通过创建自己的类来保持整洁。
例如,我有一个Public Class Product
有几个属性的。我使用它的一种方法是在页面加载时将产品 ID 分配给 ID 属性,该 ID 属性进而获取该产品的详细信息并将各种数据分配给其他属性。因此,在我的代码中,我可以使用例如 product.price 或 product.description 并获得适当的值。这工作得很好,但我发现因为该类是在页面加载时启动的,所以每次刷新页面时它都会从数据库中获取数据。我通过使用 anIf Not IsPostback
来启动课程来停止这一点。这意味着数据仅在初始页面加载时被提取。到目前为止,一切都很好。
然后我需要将文本框中的值与产品的属性进行比较。我有一个 textchanged 事件
If textbox1.Text <> product.description Then....
但在这里我得到一条波浪线product.description
,VS2010 说该对象未定义。它在 page.load 中变暗,因此我将 Dim 语句移到页面类之外,以便页面上的所有事件都可以访问它。
暗淡的声明是Dim product as New product
例如,在我的 not ispostback 代码块中product.ID = 1
,它将获取产品 1 的所有产品属性
波浪线已经消失,但是当我运行页面时,页面加载时一切正常。显示数据,因此我的产品类工作正常。一旦我在 textbox1 中进行更改并且事件触发product.description
什么都没有。它重新启动了。
我该如何阻止这种情况发生...