Linq数据在回发后没有更新表单

时间:2013-07-02 13:49:00

标签: asp.net linq

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

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

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

我在这里缺少什么?

我的页面:

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;
        ....
    }
 }

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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