Hi. Got an interesting issue here. I am performing a cascading drop down set of controls using comboboxes. If the browser is refreshed (either through F5 or the refresh button) in FF after the first combobox has made a selection, the first combobox will retain it's selection while IE11 and Chrome will reset to initial load settings. This example also uses RadAjaxManager and RadAjaxManagerProxy to simulate the real world problem I am having where the user control with the comboboxes is using the proxy object.
HTML:
Code-Behind:
I should also note that after the page is refreshed, if the second combobox is opened, it will fire the first combobox's selectionchanged event.
Any clue what its doing, what I may be doing wrong and if this is a real bug?
Also, this is using v2013.2.611.45.
Thanks!
HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FF_Combobox_Test.aspx.cs" Inherits="testwebapplication.FF_Combobox_Test" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"scriptmanager"
runat
=
"server"
></
telerik:RadScriptManager
>
<
div
>
<
telerik:RadAjaxManager
ID
=
"ajaxmanager"
runat
=
"server"
></
telerik:RadAjaxManager
>
<
telerik:RadAjaxManagerProxy
ID
=
"proxy"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"FirstBox"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"SecondBox"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<
telerik:RadComboBox
ID
=
"FirstBox"
runat
=
"server"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"FirstBox_SelectedIndexChanged"
CausesValidation
=
"false"
>
</
telerik:RadComboBox
>
<
telerik:RadComboBox
ID
=
"SecondBox"
runat
=
"server"
EnableLoadOnDemand
=
"true"
EnableVirtualScrolling
=
"true"
AllowCustomText
=
"true"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"RadComboBox1_SelectedIndexChanged"
EmptyMessage
=
"TEST TIME!"
CausesValidation
=
"false"
OnItemsRequested
=
"RadComboBox1_ItemsRequested"
>
</
telerik:RadComboBox
>
</
div
>
</
form
>
</
body
>
</
html
>
Code-Behind:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
namespace
testwebapplication
{
public
partial
class
FF_Combobox_Test : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(IsPostBack)
return
;
List<
string
> testlist =
new
List<
string
>();
testlist.Add(
"Americas"
);
testlist.Add(
"Asia"
);
testlist.Add(
"Europe"
);
FirstBox.DataSource = testlist;
FirstBox.DataBind();
}
protected
void
RadComboBox1_SelectedIndexChanged(
object
sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
{
}
protected
void
RadComboBox1_ItemsRequested(
object
sender, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
{
List<
string
> testlist;
switch
(FirstBox.SelectedItem.Text)
{
case
"Americas"
:
testlist = AmericasList();
break
;
case
"Asia"
:
testlist = AsiaList();
break
;
case
"Europe"
:
testlist = EuropeList();
break
;
default
:
testlist =
new
List<
string
>();
break
;
}
foreach
(
string
item
in
testlist)
{
SecondBox.Items.Add(
new
Telerik.Web.UI.RadComboBoxItem(item));
}
}
protected
void
FirstBox_SelectedIndexChanged(
object
sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
{
SecondBox.Text = String.Empty;
SecondBox.DataBind();
}
private
List<
string
> AmericasList()
{
List<
string
> test =
new
List<
string
>();
test.Add(
"AMERICA1"
);
test.Add(
"AMERICA2"
);
test.Add(
"AMERICA3"
);
return
test;
}
private
List<
string
> AsiaList()
{
List<
string
> test =
new
List<
string
>();
test.Add(
"ASIA1"
);
test.Add(
"ASIA2"
);
test.Add(
"ASIA3"
);
return
test;
}
private
List<
string
> EuropeList()
{
List<
string
> test =
new
List<
string
>();
test.Add(
"EUROPE1"
);
test.Add(
"EUROPE2"
);
test.Add(
"EUROPE3"
);
return
test;
}
}
}
I should also note that after the page is refreshed, if the second combobox is opened, it will fire the first combobox's selectionchanged event.
Any clue what its doing, what I may be doing wrong and if this is a real bug?
Also, this is using v2013.2.611.45.
Thanks!