ドロップダウン項目のボタン クリック イベントを処理するには、2 つの方法があります。サーバー側で処理することも、クライアント側で処理することもできます。1つずつ見てみましょう:
サーバ側:
ページに 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>
すべてのテレリック コントロールには、リッチで一貫性のあるクライアント側とサーバー側の 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
ありがとう