Asp.net:DetailsView在重定向时取消更新

时间:2012-08-24 07:24:54

标签: c# detailsview

我有一个像这样的DetailsView控件:

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="IssueId"
    DataSourceID="edsIssues" DefaultMode="Insert" OnItemInserted="DetailsView1_ItemInserted"
    OnItemInserting="DetailsView1_ItemInserting" OnItemUpdated="DetailsView1_ItemUpdated"
    OnItemUpdating="DetailsView1_ItemUpdating">
    <Fields>

插入和更新后,我想重定向到另一个页面(包含GridView的列表页面)。所以我这样做了:

protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
{
    Response.Redirect("IssueList.aspx");
}

protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
    Response.Redirect("IssueList.aspx");
}

插入新记录时效果很好。但是,更新记录时,重定向会导致更新取消。

如果我从ItemUpdated中删除了Repsonse.Redirect,那么更新可以正常工作 - 但是DetailsView会加载空白(我想在插入模式下)。

如何更新后如何在不取消更新的情况下重定向到其他页面?

提前致谢。

2 个答案:

答案 0 :(得分:0)

虽然我不喜欢答案,因为它似乎错了 - 使用Threading.Thread.Sleep()确实做了这个工作。我很想知道是否有更好的答案。

答案 1 :(得分:0)

试试这个VB

受保护的子dv_Itemclick(ByVal sender As Object,ByVal e As DetailsViewCommandEventArgs)处理yourDetailsViewitem.ItemCommand         如果(e.CommandName =“取消”)那么             的Response.Redirect( “yourPage.aspx”)         万一     结束子