2012-08-24 63 views
0

當取消更新我有一個DetailsView控件,像這樣:Asp.net: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

嘗試在重定向過程之前設置一個計時器,如:System.Threading.Thread.Sleep(2000);的Response.Redirect( 「IssueList.aspx」); – Sora

+0

是不是隻會減慢網站速度? –

+0

只是在更新過程中,您應該在DetailsView1_ItemUpdated事件中添加此行 – Sora

回答

0

雖然我不喜歡答案,因爲它看起來不對 - 使用Threading.Thread.Sleep()確實做了這項工作。我很想知道是否有更好的答案。

0

嘗試此VB

保護小組dv_Itemclick(BYVAL發件人爲對象,BYVALË作爲DetailsViewCommandEventArgs)把手yourDetailsViewitem.ItemCommand 如果(e.CommandName = 「取消」)然後 的Response.Redirect(「yourPage。 aspx「) End If End Sub