2009-12-29 5 views
0

패널 항목에 XML 파일이있는 Telerik RadPanelBar를 사용하고 있습니다. 누군가가 PanelItem 용 XML 형식을 알려줄 수 있습니까? XML 파일에 OnClick 이벤트를 포함하고 싶습니다. 가능한가? 그렇다면 XML 태그를 알려주시겠습니까? 내가 사용하는 형식은 다음과 같습니다 :Telerik RadPanelBar

<PanelItem ToolTip="" Height="22" ID="Panel3_1" Text="Search" NavigateUrl = "#" ImageCollapsed="/_Common/Images/bullet.gif" ImageExpanded="/_Common/Images/bullet.gif" /> 

내 질문은 어떻게 PanelItem의 OnClick 이벤트를 캡처합니까?

감사합니다.

<script>      
    function OnClientItemClicked(sender, args) 
    { 
     alert("The " + args.get_item().get_text() + " item has been clicked"); 
    }    
</script> 
<telerik:RadPanelBar ID="RadPanelBar1" runat="server" OnClientItemClicked="OnClientItemClicked" > 
... 
</telerik:RadPanelBar> 

마찬가지로 지금까지 XML에 onClick 이벤트를 저장, 당신은 약간의 창의력을 할 수 있습니다 :

답변

1

제어가 'OnClientItemClicked'이벤트 처리기를 노출하고 다음과 같이 구현 될 수 있다는 것. 당신의 XML은 다음과 같이 구조화 된 경우 ...

<script>      
    function OnClientItemClicked(sender, args) 
    { 
     var item = args.get_item(); 
     var myCustomAttribute = item.get_attributes().getAttribute("myCustomAttribute"); 
    }    
</script> 

: 대신에 onClick 이벤트를 저장, 당신은 당신이 나중에 OnClientItemClicked 경우에 검색 할 수있는 사용자 정의 속성을 저장할 수 있습니다 또한

<Item Text="Products" Expanded="True" myCustomAttribute="1"> 
<Item Text="RadEditor" myCustomAttribute="2" /> 
<Item Text="RadPanelBar" myCustomAttribute="3" /> 
<Item Text="RadMenu" myCustomAttribute="4" /> 
<Item Text="RadTabStrip" myCustomAttribute="5" /> 
</Item> 

여기 Telerik (멋진 문서)가 있습니다 : http://www.telerik.com/help/aspnet-ajax/panel_clientsidebasics.html

나는 당신의 질문에 대답했으면 좋겠다! 건배 : D

+0

안녕 Ianpoley, 나는() 메소드의 LoadContentFromXmlString을 사용하여 서버 측 코드에서이 PanelBar을 만드는 오전. 왜 XML 파일을 통해 OnClick을 직접 선언 할 수 있는지 궁금합니다. 이 일을 달성 할 수있는 방법이 있습니까 ?? – Zinx

1

특정 패널 막대 항목마다 별도의 OnClick 이벤트를 가질 수 있다고 생각하지 않습니다. 대신 전체 PanelBar에 대해 OnItemClick Server 사이드 이벤트를 정의한 다음 해당 이벤트에서 해당 항목 값을 기반으로 필요한 모든 작업을 수행 할 수 있습니까?

예 선언 :

XML 형식에 관해서는
protected void RadPanelBar1_ItemClick(object sender, RadPanelBarEventArgs e) 
{ 
    RadPanelItem ItemClicked = e.Item; 
    Response.Write("Server event raised -- you clicked: " + ItemClicked.Value); 
} 
1

뒤에

<telerik:RadPanelBar ID="RadPanelBar1" runat="server" OnItemClick="RadPanelBar1_ItemClick"> 
... 
</telerik:RadPanelBar> 

코드 - http://www.telerik.com/help/aspnet-ajax/panel_datahierarchicaldatasourcecomponents.html

이 도움말 항목을 확인하고 숀 바로 - 당신은 글로벌 대해서 itemClick를 정의 할 수 있습니다 모든 패널 바 항목에 대해 실행되는 서버 이벤트입니다. 자세한 내용은 여기에서 볼 수 있습니다 : http://www.telerik.com/help/aspnet-ajax/panel_panel_itemclick.html