gpt4 book ai didi

c# - updatepanel.update() 似乎没有从代码隐藏中触发

转载 作者:太空宇宙 更新时间:2023-11-03 14:13:10 24 4
gpt4 key购买 nike

我有一个 updatepanel,我更改了它的内容,然后调用 updatepanel.update() 以异步更新页面的该部分,但它似乎没有从代码隐藏中触发 update()(即异步回发不会发生并且不会显示更新的内容。

以下脚本管理器位于母版页中:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true" ></asp:ToolkitScriptManager>

有问题的页面有以下更新面板:

<asp:UpdatePanel ID="upImageConfirm" runat="server" UpdateMode="always">
<ContentTemplate>
<div id="imageContainer">
<asp:label ID="lblCheckPackshot" runat="server" Text="None" />
<asp:button ID="btnLoadPackshot" runat="server" OnClick="uploadPackShot" Text="Upload &raquo;" />
</div>
</ContentTemplate>
</asp:UpdatePanel>

以下代码隐藏在文件上传完成时启动并运行(在调试中检查此代码确实运行并更改了值,但未触发更新:

protected void uploadComplete(object sender, jaxControlToolkit.AsyncFileUploadEventArgs e)
{
try
{
//upload file to web file system
if (afuStockImport.HasFile)
{
string strPath = Server.MapPath("~/graphics/holding/") + Path.GetFileName(afuStockImport.PostedFile.FileName);
Session["uploadedFileName"] = afuStockImport.PostedFile.FileName;
afuStockImport.SaveAs(strPath);

//Show on page for confirmation
lblCheckPackshot.Text = "<img src=\"/graphics/holding/" + Path.GetFileName(afuStockImport.PostedFile.FileName) + "\" />";
upImageConfirm.Update();
}
}
}

谢谢!

最佳答案

这是 ASP.NET AJAX 工具包中 AsyncFileUpload 的行为。问题是 AsyncFileUpload 使用 iframe 来处理异步上传,因此引发 uploadComplete 事件的“页面”和客户端页面的链接方式与往常不同。

解决方法是使用 OnClientUploadComplete 事件使用 javascript 触发异步回发,然后更新您的更新面板。还有很多其他方法可以做到这一点,some are not using an update panel .

关于c# - updatepanel.update() 似乎没有从代码隐藏中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7178311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com