2016-04-19 17 views
0

内部で更新されることはありませんが、私はいくつかのプロセスが同じ画像の上に事前に形成される、UpdatePanalOnClickイベント内のImageButtonを持っています。 Imageと同じ場所に保存するよりも。ASP.NET:のImageButtonイメージがUpdatePanelの

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 
    using (Bitmap bitmap = new Bitmap((Server.MapPath(@"/Sel_Img/test.jpg"))) 
    Bitmap bmp = Some_Process(bitmap); 
    bitmap.Dispose(); 
    bmp.Save(Server.MapPath(@"/Sel_Img/test.jpg")); 
    ImageButton1.ImageUrl = "../Sel_Img/test.jpg"; 
} 

の後ろ

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 
    <asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="True" UpdateMode="Always" runat="server"> 
     <ContentTemplate> 
      <asp:ImageButton ID="ImageButton1" runat="server" AutoPostBack="true" ImageUrl="~/Sel_Img/test.jpg" OnClick="ImageButton1_Click" /> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="ImageButton1" /> 
     </Triggers> 
    </asp:UpdatePanel> 

コード:

ASPコード

問題は実行の背後にあるコードに成功しました、である、しかし、結果はウェブページに表示されません。

ir eloadページ手動で、結果は期待どおりに表示されますが、Onclickイベント結果が表示されません、I. 画像の変更が表示されません

+0

あなたのコードに応じて画像が変わるのですか?オンクリックイベント後に画像が表示されますか? –

答えて

1

イメージがブラウザのキャッシュにあるため、変更は表示されません。更新を強制するには、画像が変更されるたびに異なるクエリ文字列をURLに追加できます。

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 
    ... 
    ImageButton1.ImageUrl = "~/Sel_Img/test.jpg?" + DateTime.Now.Ticks.ToString(); 
} 
関連する問題