0

在我的应用程序中,我有一个用户填写的表格,然后得到经理的批准。我有各种类型的表单都使用相同的流程,因此批准按钮都是通过用户控件完成的(其中包括更新数据库中的数据和调用回发的功能)。

但是,一旦我单击“批准”按钮(位于用户控件中),表单信息就不会更新(它仍然显示“未批准”)。回发肯定会发生,但不确定为什么页面没有正确更新。

我可以确认正在进行更改 - 当我手动重新加载页面时,它会更新 - 但不是在回帖中。

我在这里想念什么?

我的页面:

protected void Page_Load(object sender, EventArgs e)
{
    int ID;
    // ensure that there's an ID set in the query string
    if (Int32.TryParse(Request.QueryString["ID"], out ID))
        PopulatePage(ID);
    else
        Response.Redirect("~/Default.aspx");          
    }
}

protected void PopulatePage(int ID)
{
    using (WOLinqClassesDataContext db = new WOLinqClassesDataContext())
    {
        lblStatus.Text = wo.Workorder.status;
        ....
    }
 }
4

2 回答 2

2

我认为 Page_Load 发生在提交按钮中的代码之前。要检查这一点,只需使用几个断点。因此页面加载旧数据,因为新数据尚未保存。

您应该调用一个方法来加载 Approve 按钮的 OnClick 方法中的数据。

于 2013-07-02T14:15:01.350 回答
1

将更改提交到数据库后,尝试运行db.Refresh(RefreshMode.OverwriteCurrentValues)以强制将更改重新加载到数据上下文中。

于 2013-07-02T13:54:06.203 回答