我有一个像这样的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会加载空白(我想在插入模式下)。
如何更新后如何在不取消更新的情况下重定向到其他页面?
提前致谢。
答案 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”) 万一 结束子