0

在我在“UploadImage”ctrl 中上传图片后,我点击了 Radio Buttons “rbtnDisplayDetails_Yes, rbtnDisplayDetails_No”下方的 UPload ctrl 丢失值...页面也被刷新了 为什么?给我修一下?我的 .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>

4

2 回答 2

0
<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>

它对我的工作是通过用一个表单覆盖文件上传控件并根据表单内的文件上传控件放置按钮来执行操作。如您所见,fileupload 控件(生成为带有表单和 HTML 输入类型文件的 html 代码),当在更新面板内实现时,如果您在表单外触发诸如按钮单击之类的事件,它甚至会被迫回发如果你没有在你的源代码中放置任何回发代码......

问候,肯

于 2012-02-06T06:59:15.377 回答
0

默认情况下,文件上传在每次回发时都会丢失选择。因此,由于页面正在回发,它自然会失去该价值。

还要检查一下: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

于 2012-01-25T12:23:28.597 回答