2009-12-29 63 views
0

我正在使用Telerik RadPanelBar和麪板項目的XML文件。有人可以幫助我爲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事件?

謝謝。

回答

1

看來,控制暴露了一個「OnClientItemClicked」事件處理程序,並可以這樣實現:

<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事件,你可能希望得到一個小創意。而不是存儲onClick事件,你可以存儲,那麼你可以在OnClientItemClicked事件以後檢索自定義屬性:

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

...如果你的XML是結構是這樣的:

<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 2009-12-29 22:25:50

1

我不相信你可以有一個單獨的OnClick事件每個特定的面板欄項目。相反,您需要爲整個PanelBar定義一個OnItemClick服務器端事件,然後在該事件中,您可以根據需要根據該項目值執行任何操作。

如聲明:

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

背後

protected void RadPanelBar1_ItemClick(object sender, RadPanelBarEventArgs e) 
{ 
    RadPanelItem ItemClicked = e.Item; 
    Response.Write("Server event raised -- you clicked: " + ItemClicked.Value); 
}