图像标记未在UpdatePannel内更新

本文关键字:UpdatePannel 更新 图像 | 更新日期: 2023-09-27 18:29:47

我希望你编码得很好,我正在开发一个图像上传模块,它位于模式弹出菜单中,因此被封装在更新面板中

<asp:UpdatePanel runat="server" ID="UpdateModelPopup" UpdateMode="Conditional" ChildrenAsTriggers="true">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="lnkUploadImage" EventName="Click" />
            </Triggers>
            <ContentTemplate>
                <asp:Panel runat="server" ID="pnlModel" CssClass="ModalWindow">
                    <!-- Style="display: none;" -->
                    <table border="0" class="modalTable" cellspacing="5">
                        <tr>
                            <td>
                                Keywords 2<strong><font color="#FF0000">*</font></strong> &nbsp;<i>(Seperated by , )</i>
                                <br />
                                <asp:TextBox runat="server" ID="txtKeywordsTwo"></asp:TextBox><br />
                            </td>
                            <td>
                                Dimensions <strong><font color="#FF0000">*</font></strong>
                                <br />
                                &nbsp;Width :&nbsp;
                                <asp:TextBox ID="txtDimWidth" runat="server" Width="50px"></asp:TextBox>
                                &nbsp;Height :
                                <asp:TextBox ID="txtDimHeight" runat="server" Width="50px"></asp:TextBox>
                            </td>
                            <tr>
                                <td colspan="2">
                                    <hr />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Browse .psd file<br />
                                    <ajaxToolkit:AsyncFileUpload runat="server" ID="pdfFile" Width="200px" OnUploadedComplete="pdfFile_UploadedComplete"
                                        CompleteBackColor="" ErrorBackColor="" OnClientUploadComplete="Success" />
                                    <asp:Image runat="server" ID="imgThumbNail" /><br />
                                    <font color="#FF0000">or</font><br />
                                    Refrence URL<br />
                                    <asp:TextBox ID="TextBox11" runat="server"></asp:TextBox>
                                </td>
                                <td>
                                    Browse file <i>(.jpeg, .gif or .png)</i><strong><font color="#FF0000">*</font></strong><br />
                                    <ajaxToolkit:AsyncFileUpload runat="server" ID="AsyncFileUpload1" Width="200px" />
                                </td>
                            </tr>
                    </table>
                    <asp:Button runat="server" ID="btnUpload" Text="Upload" CssClass="btn" OnClick="btnUpload_Click" />
                </asp:Panel>
            </ContentTemplate>
        </asp:UpdatePanel>

现在,根据业务要求,我需要显示用户上传的图像的缩略图,对于.psd文件,我有一个标准图标,我在运行时显示它,在后面的代码中,我正在验证文件扩展名为.psd文件的扩展名,然后它显示psd图标,我正在尝试设置

protected void pdfFile_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
    {
        if (Path.GetExtension(e.FileName).ToString().ToLower() != ".psd")
        {
            string alertMsg = @"alert('Please provide .PSD type file');"; 
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Test", alertMsg, true);
            //pdfFile
        }
        else
        {
            imgThumbNail.ImageUrl ="~/images/psdIcon.jpg";
        }
    }

问题是Panel在运行时没有得到更新,即使页面源代码显示src="。我怀疑这是更新小组的问题。

请给我指正确的方向。

提前感谢

图像标记未在UpdatePannel内更新

FileUpload不能完成Asynchronously。为此,需要上传PostBackTrigger触发器。