programing

서버에서 받은 메시지를 구문 분석할 수 없습니다.

goodsources 2023. 8. 24. 22:00
반응형

서버에서 받은 메시지를 구문 분석할 수 없습니다.

asp.net 웹 페이지에서 다음 오류가 발생합니다.

Sys.WebForms.페이지 요청 관리자 파서 오류 예외:서버에서 받은 메시지를 구문 분석할 수 없습니다.이 오류의 일반적인 원인은 응답 호출에 의해 응답이 수정되는 경우입니다.쓰기(), 응답 필터, HttpModules 또는 서버 추적을 사용할 수 있습니다.

내 페이지의 시나리오는 다음과 같습니다.

  1. Ajax를 구현하는 asp.net 페이지가 있습니다.
  2. 사용자 컨트롤 모든 코드가 업데이트 패널 내부에 있습니다.
  3. 사용자 제어를 위한 spx 페이지의 모델 팝업 익스텐더.

제가 aspx 페이지의 버튼을 클릭하면 팝업이 나타나지만, 그리드 입력을 담당하는 사용자 컨트롤의 버튼을 클릭하면 추가로 팝업이 표시됩니다. / 위의 두 가지 경우 모두 드롭다운 목록을 채우려면 라디오 버튼을 클릭합니다.

ControlID를 사용하여 업데이트 패널에 PostBack 트리거

</ContentTemplate>
<Triggers>
    <asp:PostBackTrigger ControlID="PostbackButtonName" />
</Triggers>

포스트백 버튼을 ScriptManager에 등록해야 함:

protected void Page_Load(object sender, EventArgs e)
{
    System.Web.UI.ScriptManager.GetCurrent(this).RegisterPostBackControl(btnExport);            
}

잠시 당황한 후, 저는 마침내 제 웹.config에서 "runAllManagedModulesForAllRequests" 값을 "true"로 설정하고 모듈을 제거했지만 이 설정은 제거하지 않았다는 것을 깨달았습니다.

web.config 설정을 다음으로 전환:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false"/></system.webServer>

거래 완료...! :)

  • Repeater: eventrpt_ItemDataBound에서 사용하는 경우 다음을 추가합니다.

    ImageButton btnDownload = (ImageButton)e.Item.FindControl("btnDownload");

               if (btnDownload != null)
               {   ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(btnDownload);
                   var scriptManager = ScriptManager.GetCurrent(this.Page);
                   if (scriptManager != null)
                     scriptManager.RegisterPostBackControl(btnDownload);
               }
    

업데이트 패널을 다른 업데이트 패널에 넣었을 때 이 오류 메시지가 표시되었습니다.

언급URL : https://stackoverflow.com/questions/2690979/the-message-received-from-the-server-could-not-be-parsed

반응형