Сохранить выбранный файл после обратной передачи с помощью FileUpload - PullRequest
0 голосов
/ 13 марта 2020

Я потратил часы на это и прочитал множество тем, но не уверен, чего мне не хватает, чтобы заставить это работать так, как мне хотелось бы.

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

Вот моя разметка

            <asp:MultiView runat="server" ID="RegisterMultiView">
                <asp:View ID="DefaultView" runat="server">
                    <asp:UpdatePanel ID="upCountryBrands" runat="server">
                        <ContentTemplate>
                        Select parent
                                            <asp:RequiredFieldValidator 
                                            SetFocusOnError="true" 
                                            runat="server" ID="RequiredFieldValidator3" 
                                            ControlToValidate="ddlParent" InitialValue="0" 
                                            ValidationGroup="MainForm" ErrorMessage="Please select" 
                                            Display="Dynamic">Required</asp:RequiredFieldValidator>
                                            <asp:DropDownList ID="ddlParent" runat="server" 
                                            OnSelectedIndexChanged="ddlParent_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>


                            Select Child 
                                        <asp:RequiredFieldValidator SetFocusOnError="true" runat="server" ID="RequiredFieldValidator2" 
                                        ControlToValidate="ddlChild" InitialValue="0" 
                                        ValidationGroup="MainForm" ErrorMessage="Please select" 
                                        Display="Dynamic">Required</asp:RequiredFieldValidator>
                                        <asp:DropDownList ID="ddlChild" runat="server"  
                                        OnSelectedIndexChanged="ddlChild_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>

                        </ContentTemplate>
                    </asp:UpdatePanel>
                            Name
                                <asp:RequiredFieldValidator SetFocusOnError="true" runat="server" ID="RequiredFieldValidator1" 
                                ControlToValidate="txtName" ValidationGroup="MainForm" ErrorMessage="Please enter your name" Display="Dynamic">Required</asp:RequiredFieldValidator>
                                <asp:TextBox ID="txtName" runat="server" MaxLength="100" />

                                Enter description of your issue
                           <asp:TextBox ID="txtIssue" runat="server" TextMode="MultiLine" /> <%--This is a Tiny MCE control--%>

                           Image 1
                                <asp:RequiredFieldValidator SetFocusOnError="true" runat="server" ID="rfv1" ControlToValidate="FileUpload1" ValidationGroup="MainForm" 
                                ErrorMessage="Please select an image." Display="Dynamic">Required</asp:RequiredFieldValidator>
                                <asp:RegularExpressionValidator ID="revFileTypes" runat="server" ErrorMessage="Images only." ControlToValidate="FileUpload1" ValidationExpression=".*\.(gif|jpe?g|png)$"></asp:RegularExpressionValidator>
                                <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="false" accept="image/*" ViewStateMode="Enabled" EnableViewState="true" />
                                <asp:Label ID="lblImageOneStatus" runat="server"></asp:Label>

                            Image 2
                                <asp:RequiredFieldValidator SetFocusOnError="true" runat="server" ID="RequiredFieldValidator9" 
                                ControlToValidate="FileUpload2" ValidationGroup="MainForm" ErrorMessage="Images only" Display="Dynamic">Required</asp:RequiredFieldValidator>
                                <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Images only." ControlToValidate="FileUpload2" ValidationExpression=".*\.(gif|jpe?g|png)$"></asp:RegularExpressionValidator>
                                <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="false" class="form-control-file" accept="image/*" />

                    <asp:Button ID="btnSave" runat="server" Text="Save" ValidationGroup="MainForm" OnClick="btnSave_Click" OnClientClick="txtIssue.triggerSave(false,true);" />                           
                </asp:View>
                <asp:View ID="SuccessView" runat="server">
                    Thanks
                </asp:View>
            </asp:MultiView>

Пара замечаний:

  1. У меня есть updatePanel, окружающий выпадающий список, поэтому похоже, что обратной передачи нет.
  2. Я пытался окружить элементы управления FileUpload с помощью UpdatePanel, но это не имело никакого значения.
  3. У меня есть элемент управления TonyMCE, я не думаю, что это добавит гаечный ключ в работы, но я пропустил связанный Javascript, поэтому я могу предоставить при необходимости.
  4. Я попытался добавить триггеры, но опять же это не сделало разница, поэтому я могу только предположить, что я делаю что-то не так.

Как я могу убедиться, что файл выбран с помощью элементов управления FileUpload, а затем нажмите Сохранить, чтобы сохранить значение файла?

...