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

C# Asp.net:DetailsView在重定向时取消更新,c#,detailsview,C#,Detailsview,我有一个DetailsView控件,如下所示: <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="IssueId" DataSourceID="edsIssues" DefaultMode="Insert" OnItemInserted="DetailsView1_ItemInserted" OnItemInserting="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>
插入新记录时,它工作正常。但是,在更新记录时,重定向会导致更新取消

如果我从ItemUpdated中删除Repsonse.Redirect,那么更新会起作用,但是DetailsView会加载为空(我猜是在插入模式下)

如何在更新后重定向到另一个页面而不取消更新


提前感谢。

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

试试VB

受保护的子dv_项单击(ByVal sender作为对象,ByVal e作为DetailsViewCommandEventArgs)处理您的detailsviewitem.item命令 如果(e.CommandName=“取消”),则 Response.Redirect(“yourPage.aspx”) 如果结束
End Sub

尝试在重定向进程之前设置计时器,如:System.Threading.Thread.Sleep(2000);回复。重定向(“IssueList.aspx”);这会不会减慢网站的速度?就在更新过程中,你应该在DetailsVieww1_ItemUpdated Event上添加这一行。好吧,它的作用非常大,以至于更新发生了。然而,它确实减慢了网站的速度。作为一项测试,我将睡眠量增加到20000,这确实支撑了整个网站。我认为这不是一个好的解决方案,它肯定不会扩展。如果你将睡眠量增加到20000,就像对你的浏览器说停止工作20秒,确实会降低你的网站速度
protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
{
    Response.Redirect("IssueList.aspx");
}

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