Cosa c'è che non va in questo codice? Il pulsante dell'immagine deve essere fatto clic due volte per sparare?

StackOverflow https://stackoverflow.com/questions/4866964

Domanda

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    HttpCookie cookie = new HttpCookie("CultureInfo");
    cookie.Value = ImageButton1.CommandArgument;
    Response.Cookies.Add(cookie);
    Server.Transfer(Request.Path);
    Thread.CurrentThread.CurrentCulture = new CultureInfo(cookie.Value);
    Thread.CurrentThread.CurrentUICulture = new CultureInfo(cookie.Value);
}

Il markup è in controllo web, eccolo:

<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/_48.png"  
                 CommandArgument="en-US" OnClick="ImageButton1_Click" /> 
È stato utile?

Soluzione

Non sono sicuro che in questo caso sia pertinente ma Server.Transfer lancerà threadAbortException, proprio come la risposta predefinita.redirect. Le tue 2 dichiarazioni finali non verranno eseguite.

O spostali sopra il server. Trasferisci, usa un try/catch/infine blocca o vedi se server.execute soddisferebbe le tue esigenze. Ritornerà dopo l'esecuzione della pagina di riferimento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top