Telerik AJAX radComboBox。 从第二个comboBox获取SelectedValue
我试图从另一个的结果填充一个Telerik AJAX radComboBox
- comboBox1 – 自动填充和用户选择项目
- 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(); }
希望这可以帮助。