2013-11-21 4 views
0

이 오류입니다 :잘못된 다시 게시 또는 콜백 인수는

Invalid postback or callback argument. Event validation is enabled using 
<pages enableEventValidation="true"/> in configuration or 
<%@ Page EnableEventValidation="true" %> in a page. For security purposes, 
this feature verifies that arguments to postback or callback events originate 
from the server control that originally rendered them. 
If the data is valid and expected, use the 
ClientScriptManager.RegisterForEventValidation 
method in order to register the postback or callback data for validation. 

그리고 이것은 내가 뭘하는지입니다 :

영문 :

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (!IsPostBack) 
     { 
       myUserControl.DataBind(); 
     } 
} 

UserControl을 :

public override void DataBind() 
{ 

     ddlContacts.DataSource = SessionHandler.Contacts; 
     ddlContacts.DataValueField = "Id"; 
     ddlContacts.DataTextField = "Name"; 
     ddlContacts.DataBind(); 

     ddlOrderbillto.DataSource = SessionHandler.Contacts; 
     ddlOrderbillto.DataValueField = "Id"; 
     ddlOrderbillto.DataTextField = "Name"; 
     ddlOrderbillto.DataBind(); 

     ddlState.DataSource = SessionHandler.FederalStates; 
     ddlState.DataTextField = "Name"; 
     ddlState.DataValueField = "Id"; 
     ddlState.DataBind(); 

     if (Info.Id > 0) 
     { 
      //load info 
     } 
} 

본인은 볼 수 있듯이 2dropd ddlContactsddlOrderbillto을로드하고 그것이 예정되어있는 것처럼 모든 것이 작동하는 자신의 목록. 최대한 빨리 ddlState을 추가하면 위에서 언급 한 오류가 발생합니다. 나는 그것을 업데이트 패널과 아무것도 안에 넣어 시도했다. ? 나는 ddlState 데이터 소스를 언급하는 경우,

편집을 데이터 바인딩은 그것은 작동하지만 분명히 내가 어떤 상태 :(

도와주세요 왼쪽 해요 : 나는이 개 다른 드롭 다운 목록 "ddlCounties"와 "ddlCity"를 가지고있는 경우 페이지 databinds 그들이 비어 있지만 "ddlState"변경하면 jquery 통해 채워집니다. 그래서 그들은 원래로드 된 때문에 다음 오류가 될 수 있습니다?

답변

1

변경 EnableEventValidation = "false" 페이지 상단에 .. !! 작동하려면 ...하지만 좋은 방법은 아닙니다 .. !!

EnableEventValidation 속성을 true로 설정하면 ASP.NET은 해당 컨트롤에 의해 렌더링 된 사용자 인터페이스에서 시작된 컨트롤 이벤트의 유효성을 검사합니다. 컨트롤은 렌더링 중에 이벤트를 등록한 다음 다시 게시 또는 콜백 처리 중에 이벤트를 확인합니다. 예를 들어 목록 컨트롤에 페이지가 렌더링 될 때 1, 2 또는 3 번 옵션이 포함되어 있고 옵션 번호 4를 지정하여 다시 게시 요청을 받으면 ASP.NET에서 예외가 발생합니다. ASP.NET의 모든 이벤트 중심 컨트롤은 기본적으로이 기능을 사용합니다. 런타임에 클라이언트의 컨트롤을 변경하는 클라이언트 스크립트를 작성하는 경우 잘못된 이벤트 유효성 검사 오류를 방지하기 위해 RegisterForEventValidation 메서드를 사용해야 할 수 있습니다.

check this link

+0

참으로 당신은, 불행히도 내가 바로하지 않을거야 그래서 선택하여 hiddenfields :(덕분에 다시 복귀해야한다고 생각 – Andres

+0

@Andres : 환영합니다 .. !!하고 도와 드리겠습니다 :) –