2013-04-06 64 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

謝謝

相關問題