我正在使用FormView
从数据库中选择公司。此FormView
绑定到ObjectDataSource
,绑定到DropDownList
。当用户从DropDownList
中选择公司时,FormView
会填充有关公司的信息(AutoPostBack
上已启用DropDownList
以提供动态记录更改)。我的FormView
支持插入,更新和删除功能,这三种功能都可以使用。
我的问题如下:在FormView
中编辑记录后,记录成功更改,但是,它已完全从屏幕上删除。只有在我从DropDownList
选择新公司后,才会在FormView
重新显示记录。
有没有人知道这里可能存在什么问题?
答案 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);
我不知道您的控件的名称,但您应该能够与您的控件做同样的事情。