2013-04-19 1 views
0

ViewState 및 AutoPostBack을 활용할 수있는 사용자 지정 서버 컨트롤을 만드는 데 실패했습니다. 까다로운 점은 HTML과 자바 스크립트를 조합 한 것입니다.JavaScript로 사용자 지정 ASP.NET 서버 컨트롤의 간단한 예제?

<input type="text" id="txt" /> 
<script> 
$(function() { 
    $("#txt").TurnMeIntoDatePicker({ 
     value: new Date(1950,1,1) 
    }); 
}); 
</script> 

입력하고 "값"ID "는이 예에서는 다음은 렌더링 된 출력이 어떻게 될지의 좋은 예는 (I는 따라서 약칭 예뿐만 아니라 JS 라이브러리를 사용하고)이며 "JS 함수의 매개 변수로 노출되어야하고 (ViewState를 통한 포스트 백 이후에 해당 값이 유지되어야 함) 필자가 보았던 모든 예에서는 입력 요소에 매개 변수를 지정할 수 있지만 JS의 사용자 지정 문자열에는 지정할 수 없습니다. 또한 AutoPostBack 기능을 추가하는 방법을 알고 싶지만 그레이비가 될 것입니다.

답변

2

IPostBackDataHandler를 구현하고 있습니까? 이를 사용하여 포스트 백에서 입력 필드의 값을 검색 할 수 있습니다. 또한 샘플은 입력 필드에 이름을 표시하지 않습니다 ... 값을 올바르게 다시 게시하려면 이름을 출력해야합니다. 당신은 AutoPostBack을 수행 할 Page.ClientScript.GetPostBackEventReference(...)을 사용할 수 있습니다

http://msdn.microsoft.com/en-us/library/system.web.ui.ipostbackdatahandler.aspx

... 여기에 샘플을 확인하세요. 예를 들어 값을 변경했을 때 다시 게시하려면 다음과 같이 렌더링 할 수 있습니다.

protected override void Render(HtmlTextWriter writer) 
{ 
    string content = string.Format("<input type=\"text\" id=\"txt\" onchange=\"{0}\" />", Page.ClientScript.GetPostBackEventReference(this, null)); 
    writer.Write(content); 
} 
+0

감사합니다. – user2297347

관련 문제