0
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);
}

マークアップは Web コントロールにあります。次のとおりです。

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

1 に答える 1

0

この場合に適切かどうかはわかりませんが、Server.Transferは、デフォルトのResponse.Redirectと同様に、ThreadAbortExceptionをスローします。最後の2つのステートメントは実行されません。

それらをServer.Transferの上に移動するか、try / catch / finallyブロックを使用するか、Server.Executeがニーズを満たすかどうかを確認します。参照ページの実行後に戻ります。

于 2011-02-01T19:38:40.407 に答える