Telerik AJAX radComboBox。 从第二个comboBox获取SelectedValue

我试图从另一个的结果填充一个Telerik AJAX radComboBox

  1. comboBox1 – 自动填充和用户选择项目
  2. comboBox2 – 用户选择。 按需加载。 使用comboBox1中的选定值填充自身。

问题是我无法获得combobox1的选定值

标记

    

C#

 protected void comboBox1_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e) { //.. populate this combo } protected void comboBox2_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e) { string test = comboBox1.SelectedValue; //.. test is empty. Why?? } 

令人沮丧的是我无法获得所选的价值。 问题可能是页面实际上没有回发(必须是问题的一部分),因此没有机会设置选定的值。 所以我编写了代码来解决这个问题

标记

       

JQuery的

 function OnClientSelectedIndexChanged(sender, eventArgs) { var item = eventArgs.get_item(); var value = item.get_value(); $("[ID$='hidClientId']").val(value); } 

C#

 protected void comboBox2_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e) { string test = hidClientId. Value; //.. test is empty. Why?? } 

在我看来,这已经绕过了回发问题,但它仍然无效。

有谁知道如何从另一个获得一个radComboBox的价值? 任何帮助非常感谢

您无法访问页面上其他控件的原因是因为RadComboBox对项目执行异步请求,因此页面上的其他控件无法访问。

尝试处理OnClientItemsRequesting事件,利用上下文对象(传递给服务器端代码)发送第一个组合的选定值。

标记

            

代码背后

 protected void comboBox2_ItemsRequested(object sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e) { string selectedValue = e.Context["ComboBox1Value"].ToString(); } 

希望这可以帮助。