1

On my page GridView.aspx in C# ASP.NET I have set

<asp:TemplateField ItemStyle-HorizontalAlign="Center">
   <ItemTemplate>
      <asp:ImageButton ID="btnedit" runat="server"
          CommandName="Edit"
          ImageUrl="edit_icon.gif"
          ToolTip= "Edit" />
   </ItemTemplate>
   <EditItemTemplate>
   <asp:ImageButton ID="btncancel" runat="server"
       CommandName="Cancel"
       ImageUrl="cancel.gif"
       ToolTip="Cancel editing" />
   </EditItemTemplate>
</asp:TemplateField>


<asp:TemplateField HeaderText="BS"
    ItemStyle-HorizontalAlign="Justify">
    <ItemTemplate>
        <asp:Label ID="lbBS" runat="server"
            CssClass="ddl_Class_new"
            Text='<%# HttpUtility.HtmlDecode(MaP.SpliceText(Eval("BS").ToString(),11)) %>'>
        </asp:Label>
    </ItemTemplate>
  
 <asp:TemplateField HeaderText="F"
     ItemStyle-CssClass="ddl_Class_new"
     ItemStyle-HorizontalAlign="Left">
     <ItemTemplate>
         <asp:Label ID="lblF" runat="server"
             Text='<%# Eval("F") %>'></asp:Label>
     </ItemTemplate>
     <EditItemTemplate>
         <asp:DropDownList ID="ddl" runat="server"
             CssClass="ddl_Class_new"
             AutoPostBack="true"
             BackColor="Yellow"
             OnSelectedIndexChanged="ddl">
             <asp:ListItem Text= "A" Value="A"><asp:ListItem>
             <asp:ListItem Text= "B" Value="B"><asp:ListItem>
         </asp:DropDownList>
     </EditItemTemplate>
 </asp:TemplateField>

codebehind

protected void ddl(object sender, EventArgs e)
{
    DropDownList list = (DropDownList)sender;
    string value = (string)list.SelectedValue;

    switch (value)
    {
        case "A":
            Server.Transfer("Default.aspx");
            break;

        case "B":
            Server.Transfer("Default2.aspx");
            break;
    }
}
  • I try edit the row
  • In GridiView the dropdown list "ddl" is displayed
  • I select "A" value ont the dropdown list "ddl" and transfering to Default.aspx page
  • I decide to go back from Default.aspx page to GridView.aspx page using browser back button

Now I have problem when I try to cancel editing in the row, because if I have selected one value in DropDownList "ddl", e.g. "A" value instead of cancel editing it's opened again the page Default.aspx and not cancel edit in GridiView.

I have tried using without success

protected void gv_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    gv.EditIndex = -1;
    DropDownList ddl = (DropDownList)FindControl("ddl");
    ddl.Items.Clear();
    DataBind;
}
  • [Similar question here with a few possible answers.](https://stackoverflow.com/questions/43043113/how-to-force-reloading-a-page-when-using-browser-back-button) – ClearlyClueless Jan 29 '23 at 22:48

0 Answers0