0

我遇到在为 radCombobox 中的控件“checkBox”实现简单事件“OnCheckedChanged”时遇到困难。我在网上找到了很多用 Javascript 编写事件的例子,但从来没有用 C#!为什么?用 C# 生成这个事件是不可能的吗?

这是我的例子:

<telerik:RadComboBox ID="RadComboBoxSelectedEntity" runat="server" AutoPostBack="false" EnableCheckAllItemsCheckBox="false" EmptyMessage="Tous" CheckedItemsTexts="DisplayAllInInput" CheckBoxes="true" width="300px"  
AllowCustomText="true" DataTextField="name" DataValueField="name"  HighlightTemplatedItems="true">  
<ItemTemplate> 
<asp:CheckBox runat="server" ID="CheckBox"    Text='<%# DataBinder.Eval(Container, "Text") %>' OnCheckedChanged="checkedChangeCombobox" AutoPostBack="true" />  
<asp:Label ID="lblSearchRef" runat="server" Text='<%# DataBinder.Eval(Container, "Text") %>' Visible="true" /> 
</ItemTemplate> 
<CollapseAnimation Duration="200" Type="OutQuint" />
</telerik:RadComboBox>

以及 Javascript 事件“OnCheckedChanged”:

<script language="javascript" type="text/javascript">
    function checkedChangeCombobox(sender, eventArgs) {
        var item = eventArgs.get_item();
        sender.set_text("You checked " + item.get_text());
    }
</script>

但我需要在 C# 中实现它!像那样:

protected void checkedChangeCombobox(object sender, EventArgs e)
{

     CheckBox myCheckBoxes = sender as CheckBox;
     string textChk = myCheckBoxes.Text;

}

但不工作...

4

1 回答 1

2

您需要在 ItemDataBound 事件中为组合框分配复选框事件处理程序,如下所示:

private void RadComboBoxSelectedEntity_ItemDataBound(object sender, Telerik.Web.UI.RadComboBoxItemEventArgs e)
{
    ((CheckBox)e.Item.FindControl("CheckBox")).CheckedChanged += checkedChangeCombobox;
}
于 2012-06-27T14:54:08.590 回答