Asp: значение потерь при загрузке файла на панели обновления (режим = условный), если для событий ниже установлено значение autopostvalue, равное true? - PullRequest
0 голосов
/ 23 января 2012

После того, как я загрузил изображение в Ctrl «UploadImage», я нажал на кнопку «Radio Butons» под заголовком «rbtnDisplayDetails_Yes, rbtnDisplayDetails_No» значение потерь ctrl UPload, как только ... также страница обновляется. Почему?Дай мне починку?моя страница .aspx выглядит следующим образом:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit"    TagPrefix="ajaxToolkit" %>
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Cnt_Up_pnl_Publish_PDF" ContentPlaceHolderID="cphSecurlyticsAdmin"
runat="Server">
<ajaxToolkit:ToolkitScriptManager ID="smSecurlytics" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<input id="inpHide" type="hidden" runat="server" />
<input id="inpHide1" type="hidden" runat="server" />
<asp:UpdatePanel runat="server" ID="Up_Pnl_PDF" UpdateMode="Conditional">
    <ContentTemplate>
        <div class="error-message-container-new" id="divErrorMessage" runat="server" visible="false">
        </div>
        <div class="version-page-inner-divider">
            <div id="pnl_watermark" class="version-page-input-field-outer-container" runat="server">
                <div class="version-page-input-field-text-container">
                    Watermark Option
                </div>
                <div class="input-field-box-container">
                    <asp:RadioButton ID="rbtnEnable_Watermark" runat="server" CssClass="checkbox-80"
                        Text="Enable" OnCheckedChanged="rbtnEnable_Watermark_CheckedChanged" GroupName="watermarkoption"
                        AutoPostBack="true" ToolTip="Enable watermark in this Document"></asp:RadioButton>
                    <asp:RadioButton ID="rbtnDisable_watermark" runat="server" CssClass="checkbox-80"
                        Text="Disable" OnCheckedChanged="rbtnDisable_watermark_CheckedChanged" GroupName="watermarkoption"
                        AutoPostBack="true" Checked="true" ToolTip="Disable watermark in this Document">
                    </asp:RadioButton>
                </div>
                <div class="version-page-field-error-container">
                </div>
            </div>
            <div id="pnlPublishingOption" class="version-page-input-field-outer-container" runat="server"
                visible="false">
                <div class="version-page-input-field-text-container">
                    Image Option
                </div>
                <div class="input-field-box-container">
                    <asp:RadioButton ID="rbtn_Default_WaterMark" runat="server" CssClass="checkbox-80"
                        Text="Default" OnCheckedChanged="rbtWaterMarkImgOption_SelectedIndexChanged"
                        GroupName="watermark" AutoPostBack="true" Checked="true"></asp:RadioButton>
                    <asp:RadioButton ID="rbtn_Upload_WaterMark" runat="server" CssClass="checkbox-80"
                        Text="Upload" OnCheckedChanged="rbtWaterMarkImgOption_SelectedIndexChanged" GroupName="watermark"
                        AutoPostBack="true"></asp:RadioButton>
                    <asp:RadioButton ID="rbtn_Text_WaterMark" runat="server" CssClass="checkbox-50" Text="Text"
                        OnCheckedChanged="rbtWaterMarkImgOption_SelectedIndexChanged" GroupName="watermark"
                        AutoPostBack="true"></asp:RadioButton>
                </div>
            </div>
            <div id="pnl_waterMarkImage" class="version-page-input-field-outer-container" runat="server"
                visible="false">
                <div class="version-page-input-field-text-container">
                    Image
                </div>
                <div class="input-field-box-container">
                    <asp:FileUpload ID="UploadImage" runat="server" CssClass="input-field-textbox"></asp:FileUpload>
                </div>
                <div class="version-page-field-error-container">
                    <asp:RequiredFieldValidator ID="rfvFileUpload" runat="server" ValidationGroup="PublishUser"
                        ErrorMessage="Plese Upload a File" Display="dynamic" ControlToValidate="UploadImage"> </asp:RequiredFieldValidator>
                    <br />
                    <asp:RegularExpressionValidator ID="rev_fuImage" runat="server" ValidationGroup="PublishUser"
                        ValidationExpression="^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.gif|.GIF|.png|.PNG)$"
                        ErrorMessage="Invalid Image File" ControlToValidate="UploadImage"> </asp:RegularExpressionValidator>
                </div>
                <div class="version-page-instruction">
                    <asp:Label ID="ImageType" runat="server" Text="Only [ .jpg  (or).gif  (or).png  ]"></asp:Label>
                </div>
            </div>
            <div id="pnl_WM_TextOption" class="version-page-input-field-outer-container" runat="server"
                visible="false">
                <div class="version-page-input-field-text-container">
                    Text Option
                </div>
                <div class="input-field-box-container">
                    <asp:RadioButton ID="rbtWMTextOption_static" runat="server" CssClass="checkbox-80"
                        Text="Static Text" OnCheckedChanged="rbtWMTextOption_static_CheckedChanged" GroupName="WM_Text"
                        AutoPostBack="True" Checked="True"></asp:RadioButton>
                    <asp:RadioButton ID="rbtWMTextOption_Dynamic" runat="server" CssClass="checkbox-100"
                        Text="Dynamic Field" OnCheckedChanged="rbtWMTextOption_Dynamic_CheckedChanged"
                        GroupName="WM_Text" AutoPostBack="True"></asp:RadioButton>
                </div>
                <div class="version-page-field-error-container">
                </div>
            </div>
            <div id="pnl_waterMarkText" class="version-page-input-field-outer-container" runat="server"
                visible="false">
                <div class="version-page-input-field-text-container">
                    Text
                </div>
                <div class="input-field-box-container">
                    <asp:TextBox ID="txtwatermarkText" runat="server" SkinID="FormInputTextBox" MaxLength="20"></asp:TextBox>
                </div>
                <div class="version-page-field-error-container">
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup="PublishUser"
                        ErrorMessage="Watermark Text is Required" Display="dynamic" ControlToValidate="txtwatermarkText"> </asp:RequiredFieldValidator>
                </div>
                <div class="version-page-instruction">
                    Maximum of 20 Characters in length
                </div>
            </div>
            <div id="pnl_WM_dynamic_option" class="version-page-input-field-outer-container"
                runat="server" visible="false">
                <div class="version-page-input-field-text-container">
                    Text by
                </div>
                <div id="pnl_WN_dynamic_Text" class="input-field-box-container-1" runat="server">
                    <asp:CheckBox ID="rbtWMTextOption_dynamic_title" runat="server" CssClass="checkbox-100"
                        Checked="true" Text="ContentName" GroupName="static"></asp:CheckBox>
                    <asp:CheckBox ID="rbtWMTextOption_dynamic_EID" runat="server" CssClass="checkbox-80"
                        Text="EmailID" GroupName="static"></asp:CheckBox>
                    <asp:CheckBox ID="rbtWMTextOption_dynamic_UName" runat="server" CssClass="checkbox-80"
                        Text="UserName" GroupName="static"></asp:CheckBox>
                </div>
            </div>
            <div id="pnl_WN_dynamic_Text_Display" class="version-page-input-field-outer-container"
                runat="server" visible="false">
                <div class="version-page-input-field-text-container">
                    Display
                </div>
                <div id="pnl_WN_dynamic_Text_Display_option" class="input-field-box-container-1"
                    runat="server">
                    <asp:RadioButton ID="WM_dynamic_Text_Display_optionbyHeader" runat="server" CssClass="checkbox-80"
                        Text="Header" GroupName="static"></asp:RadioButton>
                    <asp:RadioButton ID="WM_dynamic_Text_Display_optionbyFooter" runat="server" CssClass="checkbox-80"
                        Text="Footer" GroupName="static"></asp:RadioButton>
                    <asp:RadioButton ID="WM_dynamic_Text_Display_optionbyCenter" runat="server" CssClass="checkbox-80"
                        Text="Center" GroupName="static" Checked="True"></asp:RadioButton>
                </div>
            </div>
            <asp:Panel ID="pnlDetails" runat="server" Visible="true">
                <div class="version-page-input-field-outer-container">
                    <div class="version-page-input-field-text-container">
                        Display Details in Virtual Console
                    </div>
                    <div class="input-field-box-container">
                        <asp:RadioButton ID="rbtnDisplayDetails_Yes" runat="server" GroupName="Details" Text="Yes"
                            CssClass="checkbox-80" AutoPostBack="true" OnCheckedChanged="rbtnDisplayDetails_Yes_Checked" />
                        <asp:RadioButton ID="rbtnDisplayDetails_No" runat="server" GroupName="Details" Text="No"
                            CssClass="checkbox-80" AutoPostBack="true" OnCheckedChanged="rbtnDisplayDetails_No_Checked" />
                    </div>
                </div>
            </asp:Panel>
            <asp:Panel ID="pnlRemove" runat="server">
                <div class="version-page-input-field-outer-container">
                    <div class="version-page-input-field-text-container">
                        Display Remove Option in Virtual Console
                    </div>
                    <div class="input-field-box-container">
                        <asp:RadioButton ID="rbtnDisplayRemove_Yes" runat="server" GroupName="Remove" Text="Yes"
                            CssClass="checkbox-80" AutoPostBack="true" OnCheckedChanged="rbtnDisplayRemove_Yes_Checked" />
                        <asp:RadioButton ID="rbtnDisplayRemove_No" runat="server" GroupName="Remove" Text="No"
                            CssClass="checkbox-80" AutoPostBack="true" OnCheckedChanged="rbtnDisplayRemove_No_Checked" />
                    </div>
                </div>
            </asp:Panel>
        </div>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnCreate" />
    </Triggers>
</asp:UpdatePanel>
<div class="input-field-text-container">
</div>
<div class="input-field-outer-container">
    <div class="input-field-text-container">
    </div>
    <div class="input-field-box-container">
        <div class="button-bg-2">
            <div class="button-text-2">
                <asp:LinkButton ID="btnCreate" runat="server" ValidationGroup="PublishUser" OnClick="btnCreate_Click"
                    CausesValidation="true">Publish</asp:LinkButton>
            </div>
        </div>
        <div class="button-bg-2">
            <div class="button-text-2">
                <asp:LinkButton ID="btnCancel" PostBackUrl="~/Admin/Title/Titles.aspx" runat="server">Cancel</asp:LinkButton>
            </div>
        </div>
    </div>
    <div class="input-field-error-container">
    </div>
</div>

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012
<form enctype="multipart/form-data" action="SetSignature.aspx" method="post" id="frmFileUpload">
 <asp:FileUpload runat="server" ID="fupSignature" />
 <asp:Button runat="server" ID="btnSubmit" OnClick="btnSubmit_Click" Text="SUBMIT"   style="margin-top:15px;" />
</form>

Для меня это сработало, просто накрыв элемент управления загрузкой файла формой и поместив кнопку, которая выполняет действие на основе элемента управления загрузкой файла, внутри формы. Как видите, элемент управления загрузкой файлов (который сгенерирован в HTML-код с формой и файлом типа ввода HTML), при реализации внутри панели обновлений, если вы запускаете событие, такое как нажатие кнопки за пределами формы, оно принудительно отправляется обратно если вы не размещаете код обратной передачи в вашем источнике ...

С уважением, Кен

0 голосов
/ 25 января 2012

По умолчанию при загрузке файла выборка теряется при каждой обратной передаче. Поэтому, поскольку страница отправляется обратно, она, естественно, потеряет это значение.

Также проверьте это: http://weblogs.asp.net/leftslipper/archive/2007/03/30/why-don-t-file-uploads-work-during-async-postbacks.aspx

Поскольку я вижу справочник по инструментарию управления AJAX, вы также можете использовать это: http://www.asp.net/ajaxlibrary/act_AsyncFileUpload.ashx

...