C# Asp.net:DetailsView在重定向时取消更新
我有一个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
<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");
}