2013-04-06 29 views
1

如何获取RadToolbarDropDown选定的项目值在代码后面的文件中。在我的情况下,我有一个RadToolBar,我在其中动态创建RadToolBarDropDown。我根据我的代码显示动态设置了DropDown Value和Text。如何在c#中获得RadToolBarDropDown选定的项目值#

RadToolBarDropDown dd = new RadToolBarDropDown(); 
if (ds.HasRows()) 
     { 
      DataTable dt = ds.Tables[0]; 
      foreach (DataRow row in dt.Rows) 
      { 
       RadToolBarButton rtb = new RadToolBarButton(); 
       rtb.Text = row["Description"].ToString(); 
       rtb.Value = row["ProblemStatusID"].ToString(); 
       rtb.CommandName = "StatusChange"; 
       rtb.CommandArgument = row["ProblemStatusID"].ToString(); 
       dd.Buttons.Add(rtb); 
      } 
     } 
     RadToolBarItem item = dd; 
     mlmToolBar.Items.Add(item); 

现在我想在CS获得所选项目的值时,命令名称“StatusChange”火。我想获取下拉菜单的点击值。我如何获得点击下拉值?

回答

0

有两种方法可以处理下拉项目的按钮单击事件。你可以在服务器端处理它,或者你可以在客户端处理它。让我们看一个一个:

服务器端:

假设我有我的页面上的RAD工具栏控件。这里是代码相同:

<telerik:RadToolBar runat="server" ID="rtlMyToolBar" 
OnButtonClick="rtlMyToolBar_ButtonClick" ></telerik:RadToolBar> 

请注意,我已经处理了OnButtonClick事件。接下来我们会看看它。

从后面的代码我添加下拉控件并添加按钮到下拉。下面是相同的代码:

RadToolBarDropDown dd = new RadToolBarDropDown("Drop Down - Handled Server Side"); 

     RadToolBarButton rtb = new RadToolBarButton(); 
     rtb.Text = "Bold"; 
     rtb.Value = "Bold"; 
     rtb.CommandName = "Bold"; 
     rtb.CommandArgument = "Bold"; 
     dd.Buttons.Add(rtb); 

     rtb = new RadToolBarButton(); 
     rtb.Text = "Italic"; 
     rtb.Value = "Italic"; 
     rtb.CommandName = "Italic"; 
     rtb.CommandArgument = "Italic"; 
     dd.Buttons.Add(rtb); 

     rtb = new RadToolBarButton(); 
     rtb.Text = "Underline"; 
     rtb.Value = "Underline"; 
     rtb.CommandName = "Underline"; 
     rtb.CommandArgument = "Underline"; 
     dd.Buttons.Add(rtb); 

     rtlMyToolBar.Items.Add(dd as RadToolBarItem); 

现在让我们来看看事件处理程序:

protected void rtlMyToolBar_ButtonClick(object sender, RadToolBarEventArgs e) 
    { 
     var toolBarButton = e.Item as RadToolBarButton; 
     string commandName = toolBarButton.CommandName; 
     if (commandName == "YourCommandName") 
     { 
      //Your logic 
     } 
    } 

客户端:

现在让我们来看看如何倾听下降向下按钮点击客户端。下面是RAD工具栏的代码片段:

<telerik:RadToolBar runat="server" ID="rtlMyToolBar2" 
OnClientButtonClicked="OnClientButtonClicked"></telerik:RadToolBar> 

请注意,我现在正在听OnClientButtonClicked事件。事件处理程序是一个javascript函数参考。

下面是javascript代码:

<script> 
      function OnClientButtonClicked(sender, args) { 
       $("#status").append("OnClientButtonClicked: " + args.get_item().get_text() + 
       " - Command Name: " + 
       args.get_item().get_commandName() + "<br/>"); 
      } 

     </script> 

所有Telerik控制有丰富的一致客户端和服务器端API。

这里是GIST链接,上面的代码:https://gist.github.com/lohithgn/5329716

这里是一个展示案例在我们的现场演示网站的客户端API一个例子:http://demos.telerik.com/aspnet-ajax/toolbar/examples/clientside/clientevents/defaultcs.aspx

这里是客户端API基础知识的帮助文档: http://www.telerik.com/help/aspnet-ajax/toolbar-clientsidetoolbaritem.html

谢谢

相关问题