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 将抛出 ThreadAbortException,就像默认的 Response.Redirect 一样。您的最后两条语句将不会被执行。

将它们移到 Server.Transfer 上方,使用 try/catch/finally 块,或者查看 Server.Execute 是否满足您的需求。它将在执行引用的页面后返回。

于 2011-02-01T19:38:40.407 回答