的回传结合我有同样的问题:GridView控件不是数据上的DetailsView
GridView contents don’t update when underlying data changes
,但提供的答案不工作对我来说,我追求的想法,请因为到目前为止,我已经浪费了3天试图让GridView刷新DetailsView的回发。
情况是这样的: -
我有一个GridView,当选择了行一个DetailsView显示详细信息。 in。
单击编辑时,DetailsView进入“编辑”模式。
我编辑它,然后单击更新按钮。
更新触发一个事件,它可以正确地更新我的SQL数据库表。
问题是尽管100篇文章说使用GridView1.Databind();它将不会刷新,直到我点击取消按钮。
我知道它的回复,因为我已经调试过它并在Page_load(...)回传中看到它。
我已经加入
SqlDataSource1.DataBind();
和
GridView1.DataBind()
以下的地方,没有人可以刷新我的GridView。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
...
}
else
{
SqlDataSource1.DataBind();
GridView1.DataBind();
}
}
也
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
GridView1.DataBind();
}
也
protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
//GridView.SelectedIndex = -1;
SqlDataSource1.EnableCaching = false;
// UpdatePanel14.Update();
SqlDataSource1.DataBind();
GridView1.DataBind();
SqlDataSource1.EnableCaching = true;
// EndEditingGridView();
}
所以你可以看到我已经尝试过的Page_Load下,回传(),在更新和更新了DetailsView控件的了。我也试着在GridView上设置'ViewState = Disabled'。除非点击“取消”按钮,否则似乎没有任何内容可以更新其内容。谢谢。
当你点击取消时,会有一个回传拖尾。我会尝试删除:if(!IsPostBack) { ...我会离开 SqlDataSource1.DataBind(); GridView1.DataBind();让我知道如果这是一个解决方案 – Alexandre
你如何填充数据到DetailsView并更新它?请显示代码 – naveen
感谢您的意见,将其添加到Page_Load的根目录中,只是停止了gridview的选择。我已经在 – FlashTrev