2011-04-05 3 views
1

HTML 및 Jquery를 사용하여 트리보기를 만들었습니다.HTML 및 Jquery로만 사용자 정의 컨트롤 만들기

저는 HTML과 jquery를 사용하여 재사용이 가능하도록 사용자 정의 컨트롤을 만들 수 있습니까? 예 다음 사람이 내가 ASP.NET 컨트롤로 재사용하기 위해서는 사전

+0

일반 asp.net 사용자 컨트롤을 사용하여 ascx 파일의 모든 내용을 구현하고 .cs/.vb 파일에서 아무 작업도 수행 할 수 없다고 생각합니다. 사용자 컨트롤 ultimatley HTML 컨트롤 + 자바 스크립트에 어쨌든 렌더링 :) –

+0

Elad, 답장을 보내 주셔서 감사합니다. 사용자 제어가 나를위한 옵션이지만 사용자 지정 컨트롤을 만드는 방법을 모색한다는 점에 동의합니다. 그렇지 않다면 나는 사용자 컨트롤을 만들 것이다 – Amit

+0

컨트롤을 별도의 .js 파일로만 만들고 컨트롤을 사용하고 $ (document)의 특정 div에 배치 할 때 .js 파일을 포함시킬 수 있습니다. 준비된() –

답변

0

감사를 달성 할 수있는 방법에 대한 몇 가지 빛을 던져 주시기 바랍니다 수 있다면, 그것은 또한 당신이 경우, 안전 컨테이너의 이름을 지정해야합니다 어디서나 안전하게 떨어 뜨리거나 한 페이지에서 두 번 이상 사용할 수 있는지 확인하고 싶습니다. 즉, 컨트롤의 마크 업 (예 : ClientID)의 루트에 대한 고유 ID에 대한 참조를 스크립트에 전달하고 다른 참조는 해당 참조와 관련이 있어야합니다.

그러나 일반적으로 사용자 지정 컨트롤을 여러 가지 방법으로 자체 포함 할 수 있습니다. 컨트롤이없는 경우 모든 리소스 (HTML 및 스크립트)를 embedded resources으로 포함 할 수 있습니다. 컨트롤은 Render 메서드에서 클라이언트에 대한 자체 포함 된 리소스를 가장 간단한 수준으로 스트리밍 할 수 있습니다.

스크립트를 처리하려면 마찬가지로 ScriptManager을 사용하여 자체 JavaScript 스크립트를 클라이언트 스크립트 블록으로 등록 할 수 있습니다. 스크립트가 항상 블록에 포함되므로 클라이언트가 캐싱하지 않기 때문에 이는 이상적이지 않습니다.

더 좋은 방법은 이것을 수행하는 방법을 설명하는 WebResource.axd.Here is an article을 사용하여 포함 된 리소스를 제공하는 것입니다.

개인적으로 나는 목에 커다란 고통이되는 WebResource 및 임베디드 리소스를 찾습니다. 리소스와 동기화하여 AssemblyInfo.cs을 유지해야하며 어셈블리 이름 & 네임 스페이스 규칙은 항상 올바르게 얻을 수없는 것처럼 보입니다. 나는 훨씬 쉽게 단순히 사용자 지정 컨트롤의 정적 메서드를 노출 발견 예컨대 :

public static Stream GetEmbeddedResource(someResourceIdentifier, out string mimeType) { 
    /// return a stream of my own embedded resource ... can be used for anything 
    /// css, js, html 
} 

그럼 그냥 리소스 로더로 사용하고 내용을 스트리밍 자신의 웹 핸들러를 만듭니다. 이것은 훨씬 쉬우 며 200 자 길이의 쿼리 문자열이 포함 된 WebResource.axd으로 끝나지 않습니다.

관련 문제