首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telerik RadPanelBar

Telerik RadPanelBar
EN

Stack Overflow用户
提问于 2009-12-30 05:44:31
回答 3查看 4.2K关注 0票数 0

我正在使用带有XML文件的Telerik RadPanelBar用于面板项目。有没有人能帮我弄一下PanelItem的XML格式?我想在XML文件中包含OnClick事件。有可能吗?如果是,你能告诉我它的XML标签吗?我使用的格式如下:

代码语言:javascript
复制
<PanelItem ToolTip="" Height="22" ID="Panel3_1" Text="Search" NavigateUrl = "#"  ImageCollapsed="/_Common/Images/bullet.gif" ImageExpanded="/_Common/Images/bullet.gif" />

我的问题是,如何捕获PanelItem的OnClick事件?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-30 06:10:04

该控件似乎公开了一个“OnClientItemClicked”事件处理程序,并且可以像这样实现:

代码语言:javascript
复制
 <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事件中检索该属性:

代码语言:javascript
复制
 <script>                     
   function OnClientItemClicked(sender, args)
   {
      var item = args.get_item();
      var myCustomAttribute = item.get_attributes().getAttribute("myCustomAttribute");
   }            
</script>

..。如果XML的结构是这样的:

代码语言:javascript
复制
<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

票数 1
EN

Stack Overflow用户

发布于 2009-12-30 11:33:01

我不相信每个特定的面板栏项目可以有一个单独的OnClick事件。相反,您需要为整个PanelBar定义一个OnItemClick服务器端事件,在这种情况下,您可以根据该项值执行所需的任何操作?

例如声明式:

代码语言:javascript
复制
<telerik:RadPanelBar ID="RadPanelBar1" runat="server" OnItemClick="RadPanelBar1_ItemClick">
 ...
</telerik:RadPanelBar> 

代码隐藏

代码语言:javascript
复制
protected void RadPanelBar1_ItemClick(object  sender, RadPanelBarEventArgs e)
{
   RadPanelItem ItemClicked = e.Item;
   Response.Write("Server event raised -- you clicked: " + ItemClicked.Value);
} 
票数 1
EN

Stack Overflow用户

发布于 2009-12-30 15:55:17

至于XML格式-请查看此帮助主题http://www.telerik.com/help/aspnet-ajax/panel_datahierarchicaldatasourcecomponents.html

Sean是对的-您可以定义一个全局ItemClick服务器事件,该事件将为所有面板栏项目触发。欲了解更多信息,请点击此处:http://www.telerik.com/help/aspnet-ajax/panel_panel_itemclick.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1977131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档