2010-05-27 4 views
0

나는 div 요소에 결합하려면 다음 구문을 사용하고 있습니다 : 미리보기 내 페이지의 속성입니다속성에 대한 데이터 바인딩?

<div id="previewdiv"><%=Preview%></div> 

합니다.

catch는 onclick 이벤트의 새 페이지에서 Javascript로 이것을 생성한다는 것입니다. 서버 측에서는이 속성을 통해 새 페이지를 참조 할 수 있지만 페이지가 다시 게시 될 때 어떤 이유로 변수가 내 페이지에서 설정 한 값이 아닌 기본 초기화 된 값으로 설정됩니다 (예 : 미리보기). = 문자열. 내가 다시 게시 할 때 페이지는 내가 설정 한 값으로 업데이트됩니다.

코드를 Init로 옮길 수는 있지만 컨트롤에서 값을 가져 와서이 속성을 초기화해야합니다.

아이디어가 있으십니까?

답변

2

기존의 ASP.NET Web Forms을 사용하여 코드가 실행되기 전에 페이지 수명주기의 초반에 <%= %> 코드가 평가된다는 문제가 있습니다.

ASP.NET Data Binding 대신 다른 구문 (예 : <%# %>)을 사용하려고합니다. ("#"참고). 그런 다음이 코드를 렌더링하려면 템플릿을 실제 데이터로 바꿀 준비가되었을 때 서버 측 컨트롤의 DataBind()를 호출해야합니다. 이 같은

Preview = someString; 
previewDiv.DataBind(); 

그리고 마크 업에서 뭔가 :

그래서 서버 코드에서 당신은 이런 식으로 뭔가를 할

<div runat=server id="previewdiv"><%#Preview%></div> 
관련 문제