2009-02-04 4 views
1

ASP.NET Ajax 라이브러리 (Sys ....)를 사용하여 페이지에 컨트롤을 추가 할 수 있습니까? 예를 들어 JQuery에서 수행 할 내용은ASP.NET Ajax 라이브러리가있는 페이지에 컨트롤을 동적으로 추가

$("#mydiv").append($("#anotherdiv input")); 

또는 이와 비슷한 것입니다. 가능하면 클라이언트 측 스크립팅을 통해 UpdatePanel에서 모든 것을 래핑하지 않고이 작업을 수행하려고합니다. 그러나 이것이 ViewState를 혼란스럽게 할 것이라고 생각합니다.

N.B. 이것은 this post의 속담이 아니며 다른 내용입니다.

필자는 가능한 한이 문서를 닫겠다. ASP.NET AJAX in Action의 10 장에서 약간 다룹니다. 부분 포스트 백이 없어도 가능합니다.

답변

1

올바른 경우 - 기억할 수있는 한 모든 컨트롤이 OnInit() 메서드 중 또는 이전에 페이지에 있어야하므로 viewstate를 혼동합니다.

그러나 아직 일부 jQuery/Ajax를 사용하여 렌더링 된 컨트롤을 다시 가져올 수 있습니다. 예를 들어 "헬퍼"페이지 인 "MyControlsOutput.aspx"가 있고 해당 페이지에 컨트롤 (예 : "")이 포함되어 있다고 가정 해보십시오. 그런 다음 이론적으로 jQuery를 사용하여 MyControlsOutput.aspx 페이지를 쿼리하고 respondsetext를 페이지에 반환 할 수 있습니다. 다시 말하지만 ASP.Net 페이지의 컨트롤 컬렉션에 포함되지 않으며 viewstate에 대한 단서도 없습니다. 그래서, 이것은 아마도 당신이 찾고있는 것이 아니지만, 그것은 단지 생각이었습니다.

... 위 글을 쓰면서 "asp.net ajax load control"에 대한 빠른 Google 검색을 수행했습니다. 이 도움이 될 수 있는지 확인 (당신은 이미 보았다 수, 미안 즉, 케이스의 경우) :

http://weblogs.asp.net/sanjeevagarwal/archive/2008/07/22/Dynamically-create-ASP.NET-user-control-using-ASP.NET-Ajax-and-Web-Service.aspx

그것은 유사한 개념이지만, 그들이 ASP.Net의 아약스 호출을 사용하여, 그것을로드하는 것 같습니다 페이지의 컨트롤 컬렉션에 넣고 페이지의 viewstate를 사용하게합니다. 다 치지 않아? :)

조금 도움이 되길 바랍니다. 행운을 빕니다.

관련 문제