Тег изображения не обновляется внутри UpdatePannel - PullRequest
0 голосов
/ 03 апреля 2012

Надеюсь, ты хорошо пишешь, Я работаю над модулем загрузки изображений, который находится в модальном всплывающем окне и, следовательно, находится внутри панели обновления,

<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, я пытаюсь установить ImageURL для

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 = "". Я подозреваю, что это проблема панели обновления.

Пожалуйста, направьте меня в правильном направлении.

Заранее спасибо

1 Ответ

0 голосов
/ 03 апреля 2012

FileUpload не может быть сделано Asynchronously.Для этого для загрузки потребуется PostBackTrigger Триггер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...