ok,I show my job.
in Default.aspx,
html:
<ext:ComboBox ID="ddl_Theme" runat="server" Width="100px"
Editable="false"
ForceSelection="true">
<AjaxEvents>
<Select OnEvent="SetThemeSession"></Select>
</AjaxEvents>
<Listeners>
<Select Handler="ChangeTheme(#{CenterTabPanel},#{ddl_Theme});" />
</Listeners>
<Items>
<ext:ListItem Text="Default" Value="" />
<ext:ListItem Text="Slate" Value="ExtJS/resources/css/xtheme-slate.css" />
<ext:ListItem Text="Gray" Value="ExtJS/resources/css/xtheme-gray.css" />
<ext:ListItem Text="Black" Value="ExtJS/resources/css/xtheme-black.css" />
<ext:ListItem Text="Calista" Value="ExtJS/resources/css/xtheme-calista.css" />
<ext:ListItem Text="Chocolate" Value="ExtJS/resources/css/xtheme-chocolate.css" />
<ext:ListItem Text="Darkgray" Value="ExtJS/resources/css/xtheme-darkgray.css" />
<ext:ListItem Text="Green" Value="ExtJS/resources/css/xtheme-green.css" />
<ext:ListItem Text="Indigo" Value="ExtJS/resources/css/xtheme-indigo.css" />
<ext:ListItem Text="Midnight" Value="ExtJS/resources/css/xtheme-midnight.css" />
<ext:ListItem Text="Olive" Value="ExtJS/resources/css/xtheme-olive.css" />
<ext:ListItem Text="Peppermint" Value="ExtJS/resources/css/xtheme-peppermint.css" />
<ext:ListItem Text="Pink" Value="ExtJS/resources/css/xtheme-pink.css" />
<ext:ListItem Text="Purple" Value="ExtJS/resources/css/xtheme-purple.css" />
<ext:ListItem Text="Slickness" Value="ExtJS/resources/css/xtheme-slickness.css" />
</Items>
</ext:ComboBox>
client side script:
<script language="javascript">
var ChangeTheme=function(tabPanel,theme)
{
Coolite.Ext.setTheme(theme.getValue());
tabPanel.items.each(function(el) {
if(!Ext.isEmpty(el.iframe))
{
el.iframe.dom.contentwindow.Coolite.Ext.setTheme(theme.getValue());
}
});
}
</script>
server side script:
// save the value to db.
protected void SetThemeSession(object sender,EventArgs e)
{
OATheme.SetTheme(this, ddl_Theme.SelectedItem.Value);
}
//and initiate the theme
protected void Page_Load(object sender, EventArgs e)
{
string myTheme = OATheme.GetTheme(this);
for (int i = 0; i < ddl_Theme.Items.Count; i++)
{
if (ddl_Theme.Items[i].Value == myTheme)
{
ddl_Theme.SetValueAndFireSelect(myTheme);
break;
}
}
}
in others pages' page_load method:
protected void Page_Load(object sender, EventArgs e)
{
//select the theme from db and set the page's theme.
OATheme.GetTheme(this);
}
hope this helps