0

페이지 흐름을 개선하기 위해 다양한 업데이트 패널로 분리 된 양식을 호스팅하는 ASP.net 웹 페이지가 있습니다. 탭 및 업데이트 패널이 없으면 맨 아래로 끝까지 스크롤하는 데 시간이 걸립니다.ASP 유효성 검사기 : 모두 한 번에 실행 (원하지 않음)

필자는 독립적으로 유효성을 검사하고 내가 지정한 영역에 요약표가 표시되는 다양한 데이터 테이블을 보유하고 있습니다. 전체 문서가 서버에 제출되면 모두 실행됩니다. 이 모든 것은 내가 기대하는대로 작동합니다.

그러나 업로드 컨트롤을 사용하고 있으므로이 페이지에 파일 기능을 추가하라는 메시지가 나타났습니다. 자체 업데이트 패널 (단추에 바인딩 된 비동기 트리거)에 중첩되었습니다. Required 유효성 검사기가 false를 올바르게 반환하면 오류 메시지가 표시되면 의도 한대로 작동합니다.

실제 문제는 SUCCESSFUL 유효성 검사 (및 다시 게시)에서 ENTIRE 페이지가 다시 유효성 검사를 시도하므로 필요한 모든 필드가 모두 false로 등록된다는 것입니다. 이것은이 동작을 표시하는 페이지의 유일한 섹션입니다.

누구나 알고 있거나 분명히없는 정보를 어디에서 찾을 수 있는지 제안 할 수있는 사람이 있습니까?

<asp:UpdatePanel runat="server" ID="uPnlDocs" UpdateMode="Conditional"> 

     <Triggers> 
      <asp:PostBackTrigger ControlID="btnUploadFile" /> 
     </Triggers> 

     <ContentTemplate> 

      <div id="DivDocs" runat="server" class="tab-pane" visible="false"> 

       <div class="panel panel-default"> 

        <div class="panel-heading"> 

         <asp:Label ID="Label1" runat="server"> 
        <h3><u>Supporting Documents</u></h3 > 
          <h4>Please upload any documents you would like to attach to the currently selected DRD record. </h4> 
          <h5>Click the "Browse/Choose File" button to select a file, Then click "Upload File"</h5> 

         </asp:Label> 

        </div> 
        <br /> 

        <div class="panel-body"> 
         <!-- Controls go in here --> 
         <asp:FileUpload runat="server" ID="DrdFile" CssClass="col-sm-3" ViewStateMode="Enabled" /> 
         <asp:Button runat="server" CausesValidation="true" ValidationGroup="VGUpload" ID="btnUploadFile" Text="Upload File" CssClass="btn btn-success col-sm-2" OnClick="btnUploadFile_Click" /> 
         <asp:RequiredFieldValidator runat="server" ID="RFV_Upload" ControlToValidate="DrdFile" Display="None" ValidationGroup="VGUpload" ErrorMessage="File not Selected" CssClass="validationError col-sm-6"></asp:RequiredFieldValidator> 


         <asp:Label runat="server" ID="lblUploadText" Text="Add a description to go with your file" CssClass="col-sm-12" AssociatedControlID="txtUploadFile" /> 
         <asp:TextBox runat="server" ID="txtUploadFile" TextMode="MultiLine" Rows="4" CssClass="col-sm-10" /> 

        </div> 

       </div> 

UPDATE - 추가 연구 및 테스트를 통해

나는 나의 모든 유효성이 아니라 필수 필드가 MSDN에 따르면

를 유효성 검사기 해고되고 있다는 것을 발견; https://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx

양식이 제출 될 때 유효성 검사를 중지 할 수 있어야합니다.

  1. 페이지 지시어에 PAGE하여 validateRequest = "false"를 %> @ < 퍼팅

  2. 은 web.config 파일에 설정을 추가 (시도)

(도 시도) 이 시점에서 아이디어가 부족합니다. 누군가가 이것을 알아 냈 으면합니다.

답변

0

FileUpload 컨트롤은 UpdatePanel과 호환되지 않습니다. 그것은 문제 일 수 있습니다. Microsoft Site에서

: UpdatePanel와 호환되지 않습니다

컨트롤

다음 ASP.NET 컨트롤이 부분 페이지 업데이트와 호환되지 않으며, 따라서 내부에서 작동하도록 설계되지 않은 제어 UpdatePanel 컨트롤 :

  • 여러 조건에서 TreeView 컨트롤 : 하나는 비동기 포스트 백의 일부가 아닌 콜백이 활성화 된 경우입니다. CSS 스타일에 대한 참조를 사용하여 컨트롤을 암시 적으로 스타일링하는 대신 컨트롤 속성으로 스타일을 직접 설정하는 경우도 있습니다. 다른 하나는 EnableClientScript 속성이 false 인 경우입니다 (기본값은 true 임).다른 하나는 비동기 포스트 백간에 EnableClientScript 속성 값을 변경하는 경우입니다.

  • CSS 스타일에 대한 참조를 사용하여 컨트롤을 암시 적으로 스타일을 지정하는 대신 컨트롤 속성으로 직접 스타일을 설정할 때의 메뉴 컨트롤입니다. 자세한 내용은 메뉴 컨트롤 개요를 참조하십시오.

  • FileUpload 및 HtmlInputFile은 파일을 비동기 포스트 백의 일부로 업로드하는 데 사용되는시기를 제어합니다.

  • GridView 및 DetailsView는 EnableSortingAndPagingCallbacks 속성이 true로 설정된 경우를 제어합니다. 기본값은 false입니다.

  • 내용이 편집 가능한 템플릿으로 변환되지 않은 Login, PasswordRecovery, ChangePassword 및 CreateUserWizard 컨트롤.

  • 대체 컨트롤.

  • BaseCompareValidator, BaseValidator, CompareValidator, CustomValidator, RangeValidator, RegularExpressionValidator, RequiredFieldValidator 및 ValidationSummary 컨트롤이 포함 된 유효성 검사 컨트롤입니다.

+0

@VDWWD에 감사드립니다. FileUpload 컨트롤이 비동기 포스트 백에서 작동하지 않는다는 것을 알고 있습니다. 트리거에서 바인딩 된 코드에서 전체 포스트 백이 작동하는 방법입니다. 포스트 백 및 파일 업로드가 성공적으로 끝난 후 필요한 모든 필드 유효성 검사기가 이유없이 작동하기 시작합니다. (이유가 없음) –

+0

FileUpload 컨트롤과 해당 유효성 검사기를 모두 UpdatePanel 외부에 배치하십시오. 그러면 어떻게됩니까? – VDWWD

+0

업데이트 패널을 꺼내면 페이지의 섹션이 더 이상 표시되지 않도록 수정하려고합니다. –

관련 문제