[英]UpdatePanel doesn't update
我正在使用AJAX異步文件上傳功能添加用戶圖片。 我希望在異步上傳完成后更新圖片。 我在后面的代碼中使用upImage.Update()來執行此操作,但它似乎並未執行更新。
所有代碼均正確無誤地運行,並且JS控制台中沒有錯誤。 任何幫助,將不勝感激! 謝謝。
aspx文件:
<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");
}
}
看起來您輸入了錯誤的ImageUrl
imgUser.ImageUrl = imgUser.ImageUrl + "?new" + String.Format("{0:ddMMyyyy}", DateTime.Now);
應該
imgUser.ImageUrl = "~/users/" + this.Context.User.Identity.Name + "/userimages/" + this.Context.User.Identity.Name + ".jpg?new" + String.Format("{0:ddMMyyyy}", DateTime.Now);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.