Что не так в этом коде? Для запуска нужно дважды нажать кнопку изображения? - PullRequest
0 голосов
/ 01 февраля 2011
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);
}

Разметка находится в веб-управлении, вот она:

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

1 Ответ

0 голосов
/ 01 февраля 2011

Не уверен, что это уместно в этом случае, но Server.Transfer сгенерирует исключение ThreadAbortException, как и отклик Response.Redirect по умолчанию.Ваши последние 2 оператора не будут выполнены.

Либо переместите их над Server.Transfer, либо используйте блок try / catch / finally, либо посмотрите, отвечает ли Server.Execute вашим потребностям.Он вернется после выполнения указанной страницы.

...