如何在编辑后刷新我的FormView?

时间:2011-12-06 22:22:49

标签: asp.net formview

我正在使用FormView从数据库中选择公司。此FormView绑定到ObjectDataSource,绑定到DropDownList。当用户从DropDownList中选择公司时,FormView会填充有关公司的信息(AutoPostBack上已启用DropDownList以提供动态记录更改)。我的FormView支持插入,更新和删除功能,这三种功能都可以使用。

我的问题如下:在FormView中编辑记录后,记录成功更改,但是,它已完全从屏幕上删除。只有在我从DropDownList选择新公司后,才会在FormView重新显示记录。

有没有人知道这里可能存在什么问题?

2 个答案:

答案 0 :(得分:4)

你需要再次数据绑定。

void FormView_ItemInserted(Object sender, FormViewInsertedEventArgs e)
{
  Gridview.Databind();
}

答案 1 :(得分:1)

在修改父控件时,需要触发子控件的数据绑定。

我发现执行此操作的最可靠方法是在父控件的DataBound事件中。编辑成功后,将调用此事件,因为控件需要重新绑定到已编辑的数据。

这是我的一些实际代码的片段,我做了类似的事情。在其中,我有一个名为QuestionGroupResutls的控件,它在名为QuestionResults的控件中有子记录。

void QuestionGroupResults_DataBound(object sender, EventArgs e)
{
    QuestionGroupsEditingDetailsView1.DataBind();
    QuestionResults.DataBind();

}

我在Page_Load中有这个,但你可以在asmx中以声明方式指定它(我只是没有代码示例)。

 QuestionGroupResults.DataBound += new EventHandler(QuestionGroupResults_DataBound);

我不知道您的控件的名称,但您应该能够与您的控件做同样的事情。