0

次のような 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 は空白で読み込まれます (挿入モードだと思います)。

更新をキャンセルせずに、更新後に別のページにリダイレクトするにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

0

答えが間違っているように思えますが、実際には Threading.Thread.Sleep() を使用するとうまくいきました。もっと良い答えがあれば知りたいです。

于 2012-09-04T09:20:50.610 に答える
0

VBでこれを試してください

Protected Sub dv_Itemclick(ByVal sender As Object, ByVal e As DetailsViewCommandEventArgs) Handles yourDetailsViewitem.ItemCommand If (e.CommandName = "Cancel") Then Response.Redirect("yourPage.aspx") End If End Sub

于 2013-02-05T15:04:56.023 に答える