有两种方法可以处理下拉项的按钮单击事件。您可以在服务器端处理它,也可以在客户端处理它。让我们一一来看:
服务器端:
假设我的页面上有一个 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
谢谢