Информационное окно, вызывающее проверку - PullRequest
0 голосов
/ 13 сентября 2018

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

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

Я попытался установить свойство CausesValidationна загрузчике файлов на ложь, но не повезло.Я также пробовал AutoPostBack и IsPostBack.

код aspx

<%@ Page Title="Excel File Content Upload" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master"
         CodeBehind="ExcelFileContentUpload.aspx.vb" Inherits="Company.Applications.ProductionEngine.UI.ExcelFileContentUpload" %>

<%@ Register Src="~/GenericControls/UC_InformationMessageBox.ascx" TagName="InformationBox"
    TagPrefix="uc" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
    <asp:Label ID="lblTitle" Text="Excel File Content Upload" runat="server" />
</h2>
<br />
    <asp:FileUpload ID="fileUploader" runat="server" Width="400px"/>
<br />
<br />
    Choose Year: <asp:DropDownList ID="ddlYear" runat="server"></asp:DropDownList>
    Choose Month: <asp:DropDownList ID="ddlMonth" runat="server"></asp:DropDownList>
<br />
<br />
    <asp:Button ID="btnDataUpload" runat="server" Text="Upload Data" CssClass="buttonBlue"
                        Visible="true" Width="115px"/>
    <asp:UpdatePanel ID="MainContentUpdatePanel" runat="server">
        <ContentTemplate>
            <uc:InformationBox ID="InformationBox" runat="server" EnableViewState="true"/>
            <asp:RequiredFieldValidator ID="rvfFileUploader" runat="server" ControlToValidate="fileUploader"
                                        ErrorMessage="* Select an Excel file to upload" ForeColor="Red"></asp:RequiredFieldValidator>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

Загрузка страницы

#Region "PAGE LOAD"
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Load years and months into their respective dropdown lists
        If Not Page.IsPostBack Then
            Dim _currentYear As Integer = DateTime.Now.Year
            Dim _previousYear As Integer = DateTime.Now.Year - 1
            Dim _month = CultureInfo.CreateSpecificCulture("en").DateTimeFormat.MonthNames

            For i As Integer = 0 To _month.Length - 1
                ddlMonth.Items.Add(New ListItem(_month(i), i + 1).ToString())
            Next

            ddlYear.Items.Add(_currentYear)
            ddlYear.Items.Add(_previousYear)
        End If

    End Sub
#End Region

1 Ответ

0 голосов
/ 13 сентября 2018
<asp:Button ID="btnDataUpload" runat="server" Text="Upload Data" CssClass="buttonBlue" Visible="true" Width="115px" ValidationGroup="A" />
    <asp:UpdatePanel ID="MainContentUpdatePanel" runat="server">
        <ContentTemplate>
            <uc:InformationBox ID="InformationBox" runat="server" EnableViewState="true"/>
            <asp:RequiredFieldValidator ID="rvfFileUploader" runat="server" ControlToValidate="fileUploader" ErrorMessage="* Select an Excel file to upload" ForeColor="Red" ValidationGroup="A"></asp:RequiredFieldValidator>
        </ContentTemplate>
    </asp:UpdatePanel>

Я думаю, что другой вариант может состоять в том, чтобы вынуть InformationBox из UpdatePanel, поместить Button в панель и использовать свойство defaultButton. Это работает с asp: Панели достаточно легко.

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