このコードの何が間違っていますか?画像ボタンを2回クリックして発射する必要がありますか?

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

質問

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" /> 
役に立ちましたか?

解決

この場合、それが適切であるかどうかはわかりませんが、server.transferは、デフォルトのResponse.redirectと同様に、threadabortexceptionをスローします。最後の2つのステートメントは実行されません。

サーバーの上に移動するか、try/catch/fatilem blockを使用するか、server.executeがニーズを満たすかどうかを確認します。参照されたページの実行後に戻ります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top