ASP.Net生命周期和数据库更新顺序

ASP.Net生命周期和数据库更新顺序,asp.net,page-lifecycle,Asp.net,Page Lifecycle,我一直在阅读关于页面生命周期的文章。我理解生命周期,但是,不清楚该做什么,什么时候做。问题是我使用Page_Load获取数据库值,并设置表单字段。我使用按钮的onClick方法来更新数据库。但是,表单字段文本属性是在页面加载期间设置的,因此它实际上只是用旧值更新数据库 页面加载:我收集数据,并设置控件文本属性以反映数据。 按钮单击:我从表单更新数据库 问题:它正在更新从页面加载收集的值,而不是实际表单 当然,我不应该执行页面加载中的所有操作。那么,在这个过程中,我哪里出错了?页面加载 如果要在P

我一直在阅读关于页面生命周期的文章。我理解生命周期,但是,不清楚该做什么,什么时候做。问题是我使用Page_Load获取数据库值,并设置表单字段。我使用按钮的onClick方法来更新数据库。但是,表单字段文本属性是在页面加载期间设置的,因此它实际上只是用旧值更新数据库

页面加载:我收集数据,并设置控件文本属性以反映数据。 按钮单击:我从表单更新数据库 问题:它正在更新从页面加载收集的值,而不是实际表单

当然,我不应该执行页面加载中的所有操作。那么,在这个过程中,我哪里出错了?

页面加载

如果要在Page_Load事件中加载数据库数据,首先要做的是将其包装在If!IsPostBack语句

IsPostBack 获取一个值,该值指示是否为 第一次加载或正在加载以响应回发

因此,当页面周期是回发的结果时,IsPostBack=true

在页面加载中,您应该仅在IsPostBack=false时收集数据,而不是在每次页面加载时收集数据

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // gather your data here
    }
}
设置字段

我个人更喜欢在PreRender事件处理程序上设置字段内容,但实际上我不知道应该/必须在那里完成,这对我来说似乎更符合逻辑

在回发事件单击按钮、下拉选择更改后执行预渲染。。。因此,它可以确保在呈现页面之前完成更新和更一般的数据修改。

页面加载

如果要在Page_Load事件中加载数据库数据,首先要做的是将其包装在If!IsPostBack语句

IsPostBack 获取一个值,该值指示是否为 第一次加载或正在加载以响应回发

因此,当页面周期是回发的结果时,IsPostBack=true

在页面加载中,您应该仅在IsPostBack=false时收集数据,而不是在每次页面加载时收集数据

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // gather your data here
    }
}
设置字段

我个人更喜欢在PreRender事件处理程序上设置字段内容,但实际上我不知道应该/必须在那里完成,这对我来说似乎更符合逻辑


在回发事件单击按钮、下拉选择更改后执行预渲染。。。因此,它可以确保在呈现页面之前完成更新和更一般的数据修改。

不要忘记使用!Page.IsPostback在您的页面中\u加载以确保您仅在第一次访问页面时加载初始值。不要忘记使用!Page.IsPostback在页面加载中,以确保仅在第一次访问页面时加载初始值。错误。第一件事是评估是否需要页面加载事件,或者是否可以使用它。此外,还有许多情况下添加!iPostBack将构建您的代码。嗯,我不是专家。你能给我指出一些文章/实例吗?老实说,我不明白你的评论和这两个链接之间的关系。第一个涉及商业组件ASPxGrid的使用,该组件专门使用回调机制,因此IsClassback应该在IsPostBack上使用。第二篇文章提到PageLoad如何与HiddenField一起工作,加载时没有填充任何数据,并通过javascript更改这些数据。。。有人投了反对票,说我错了,我希望得到更好的意见。错了。第一件事是评估是否需要页面加载事件,或者是否可以使用它。此外,还有许多情况下添加!iPostBack将构建您的代码。嗯,我不是专家。你能给我指出一些文章/实例吗?老实说,我不明白你的评论和这两个链接之间的关系。第一个涉及商业组件ASPxGrid的使用,该组件专门使用回调机制,因此IsClassback应该在IsPostBack上使用。第二篇文章提到PageLoad如何与HiddenField一起工作,加载时没有填充任何数据,并通过javascript更改这些数据。。。有人投了反对票,说我错了,我希望得到更好的意见。