2011-02-01 54 views
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); 
} 

標記是在網絡的控制,那就是:這段代碼有什麼問題?圖片按鈕必須點擊兩次才能觸發?

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

你能告訴我們你的`Page_Load`嗎?我懷疑你可能沒有檢查「Page.IsPostback」。 – 2011-02-01 19:21:34

+0

其實我沒有檢查Page_Load。 – user598948 2011-02-01 19:31:52

回答

0

不知道這是在這種情況下,相關的,但是Server.Transfer方法將拋出ThreadAbortException,就像默認的Response.Redirect。您的最後2條語句不會被執行。

將它們移動到Server.Transfer之上,使用try/catch/finally塊或查看Server.Execute是否能滿足您的需求。它將在執行引用頁面後返回。

相關問題