阅读与阅读在asp.net中写作

时间:2010-11-18 01:57:32

标签: c# asp.net sql vb.net sqldatasource

我有一个基本页面,其中包含我从数据库中读取并写入的字段。我想知道我应该在哪里调用insert和read命令。我知道age_load但是听说过page_loadcomplete。

我注意到当用户刷新页面时,由于某种原因,sqldatasource会加载旧数据(在写入之前),即使表单上已加载了新数据。

感谢,

吉姆

2 个答案:

答案 0 :(得分:0)

让我先按段落分开您的询问并发表一些意见。

  1. 对于您在哪里插入或读取命令的问题,我通常会在另一个项目/类文件中调用我的insert / read命令。但是,这些命令在我的用户界面中触发。这意味着,如果我必须检索我的记录以查看它们,我会在我的数据访问项目/类中设置我的读取命令,然后在加载我的页面后在我的用户界面中触发它们。或者,如果我要插入新记录,我将设置一个方法插入我的类项目/类文件,然后在我的用户界面中调用它。

  2. 这种情况多久发生一次?从那以后我没有遇到过这个。通常,一旦插入/更新数据,数据源就会自行刷新。

答案 1 :(得分:0)

了解ASP.NET page life cycle(假设您正在使用网络表单)非常重要。有了这个,您就会知道要使用的正确页面事件及其特定用途。 Page_Load和Page_OnLoadComplete不用于保存对数据的更改,而是用于检索和呈现该数据。

我会在数据库类中进行通用数据库调用。我将把字段放入一个单独的类中,这个类将有一个关联的映射类,其中包含您需要的特定CRUD方法(例如,要调用的存储过程的名称,参数等)。我将它传递给数据库类的一个实例,以执行我想要的功能,由页面中的事件触发(例如Button_Click事件)。

在第二点,刷新页面会调用HTTP GET,因此您的页面将被重新加载。这对我来说意味着您的写入实际上并未发生,请检查数据库以确保它是。