AJAX非同期ファイルアップロードを使用してユーザー画像を追加しています。非同期アップロードが完了したら、イメージを更新します。私はこれを行うには、コードの中でupImage.Update()を使用していますが、それは更新を行うようではありません。UpdatePanelが更新されない
すべてのコードはエラーなく実行され、JSコンソールにエラーはありません。どんな助けもありがとう!ありがとう。
のaspxファイル:あなたは間違っIMAGEURLを得たよう
<h2>That's You
<ajax:AsyncFileUpload ID="afuUserImage" runat="server"
OnUploadedComplete="uploadComplete"
UploadedFileError="uploadError"
Width="200px"
UploadingBackColor="#b9b9b9"
CompleteBackColor="#00FF00"
ErrorBackColor="#FF0000"
ThrobberID="theLoader"
ClientIDMode="AutoID"
CssClass="" />
</h2>
<div id="userSettingsImage" runat="server" class="userSettingsImage">
<asp:updatepanel ID="upImage" runat="server" UpdateMode="conditional" ChildrenAsTriggers="false" >
<ContentTemplate>
<asp:Image ID="imgUser" runat="server" ImageUrl="~/graphics/blankuser.jpg" />
</ContentTemplate>
</asp:updatepanel>
</div>
そして、背後にあるコード....
protected void uploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
try
{
// change photo in space and upload to user photo
if (afuUserImage.HasFile)
{
string strPath = Server.MapPath("~/users/" + this.Context.User.Identity.Name + "/userimages/" + this.Context.User.Identity.Name + ".jpg");
if (File.Exists(strPath))
{
File.Delete(strPath);
}
afuUserImage.SaveAs(strPath);
imgUser.ImageUrl = imgUser.ImageUrl + "?new" + String.Format("{0:ddMMyyyy}", DateTime.Now);
upImage.Update();
Lifeklips_Global.eComms.showMessage("All done!");
}
else
{
Lifeklips_Global.eComms.showMessage("Oops! This is embarrassing. Your update didn't work, but we're looking into it. Give it another go.");
}
}
catch (Exception ex)
{
Lifeklips_Global.errorProcess.logError("Error uploading file: " + ex.Message, "Lifeklips.UserControls.singlephotouploader:uploadComplete");
}
}
[UpdatePannel内で画像タグが更新されない]の複製が可能です(http://stackoverflow.com/questions/9995399/image-tag-not-updating-inside-the-updatepannel) – Pankaj