2009-12-08 3 views
1

사용자 지정 컨트롤을 만들어야합니다.맞춤 렌더링 컨트롤을 만드는 가장 좋은 방법은 무엇입니까?

기본적으로, 나는 경량 (그리고 더 나은 jquery를 사용하여) 아코디언 제어를 만들고 싶습니다.

그런 일을 시작하기에 좋은 참고 자료는 무엇입니까? 매우 비슷하기 때문에 (결국 약간의 JS가 필요합니다.) 특정 유형의 컨트롤 만 추가 할 수 있기를 원하기 때문에 Panel에서 파생됩니다. 사용자 지정 렌더링 된 컨트롤에 대한 정보를 찾는 데 문제가 있습니다.

누구나 참조 할 수 있습니까? 또한 HTML의 ID 태그의 경우 UniqueID 또는 ClientID를 사용 하시겠습니까?

답변

1

좋은 ASP.NET 책에는 사용자 지정 컨트롤 전용 장이 있어야합니다.

public class AccordianPanel : System.Web.UI.WebControls.Panel 
{ 
    protected override void OnPreRender(EventArgs e) 
    { 
     base.Render(writer); 
     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "accordianscript", ScriptText); 
    } 
} 

을 아니면 패널과 ASCX에서 자바 스크립트 아무것도하지만, 사용자 정의 컨트롤을 만들 : 당신이하고 싶었던 모든 패널에 몇 가지 JS를 추가라면 난 그냥이 작업을 수행 할 수 있다고 생각합니다. 허용되는 컨트롤을 제한하는 것이 좋지 않습니다 ...

ID는 ClientID 스크립트의 컨트롤을 참조 할 때 항상 ClientID를 사용합니다.

0

나는 AjaxControlToolkit을 사용하는 것을 고려하고 거기에 asp.net에있는 설명서에서 사용자 정의 컨트롤이나 익스텐더를 만드는 방법을 살펴볼 것이다. 따라서 사용자 정의 컨트롤을 쉽게 만들 수 있으며 이러한 구성 요소에 JQuery를 포함시킬 수 있습니다. ACT는 모든 배관 공사를 제공합니다. MS ajax 프레임 워크를 사용하고 모든 것을 연결하는 작업이 적습니다.

저는 그것을 사용해 왔지만 잘 작동합니다. 최근에 내 사용자 지정 프레임 워크 내에서 AJAX 구성 요소 세트를 폐기 한 것을 인정해야합니다 (http://www.codeplex.com/nucleo). 그것은 다른 이유 때문이었습니다.

+0

실제로 사용하고 있지만 jquery 코드도 사용해야합니다. – Earlz

+0

JQuery도 사용할 수 있습니다. 그것은 원활하게 작동합니다. 나는 그것을했다 (필자는 최신 DevConnection의 잡지에서 기사를 작성했다) ... –

0

일부 질문을 놓쳤습니다. 특정 컨트롤 만 허용하는지 확인하려면 컨트롤이 추가 될 때 호출되는 AddedControl 메서드를 재정의 할 수 있습니다. 이 메서드에서 컨트롤 형식의 유효성을 검사 할 수 있습니다.

또는 대부분의 컨트롤은 사용자 지정 컨트롤 컬렉션을 구현하며 사용자 지정 컨트롤을 만드는 데 사용할 수있는 CreateControlCollection이 있다고 생각합니다. 이 사용자 지정 컨트롤 컬렉션은 Add/AddAt 메서드 내에서 컨트롤의 유효성을 검사합니다.

관련 문제