Hello everyone, after several days trying to figure out what was going on, and even after reading some posts in this forum I came to the conclusion that I really don't know why what's happening to me is actually happening..

What I am trying to do is a "Search Page" where, at the left (West Panel) there are differents topics related to the search, in the middle (Central Panel) the differents options for the selected topic, and, in the bottom (South Panel), I am planning to put a table which will show the results of the search. Basically, to make the search options change while the user selects differents topics from the left side, what I am doing is to put all the panels related to all the topics in the central panel and I make them visible or not depending on the user selection of an specific topic of the left bar.

Because it could be a little extensive I prepared a small example which shares the same problem as the original I am doing:
(I omit the South Panel as it's not related to the problems I need to solve)

UserControl Code (.ascx)

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ComboExampleUserControl.ascx.cs"
    Inherits="WebLab_ComboExampleUserControl" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<ext:ResourceManager ID="rm" runat="server" DirectEventUrl="~/ComboExample.cs">
</ext:ResourceManager>
<ext:Store ID="statesStore" runat="server">
    <Proxy>
        <ext:HttpProxy Method="POST" Url="~/General/WebServices/cddLoader.asmx/getEstados">
        </ext:HttpProxy>
    </Proxy>
    <Reader>
        <ext:XmlReader Record="EstadoRCFly">
            <Fields>
                <ext:RecordField Name="id" Type="String" Mapping="Id">
                </ext:RecordField>
                <ext:RecordField Name="denominacion" Type="String" Mapping="Denominacion">
                </ext:RecordField>
            </Fields>
        </ext:XmlReader>
    </Reader>
</ext:Store>
<ext:Viewport ID="vpPrincipal" runat="server">
    <Items>
        <ext:BorderLayout ID="BorderLayout1" runat="server">
            <West Collapsible="true" Split="true">
                <ext:Panel ID="WestPanel" runat="server" Title="Options">
                    <Items>
                        <ext:MenuPanel ID="menuPanel" runat="server" Height="300" Title="Menu" Width="185">
                            <Menu runat="server">
                                <Items>
                                    <ext:MenuItem ID="OneOption" runat="server" Text="Item1">
                                    </ext:MenuItem>
                                    <ext:MenuItem ID="StateOption" runat="server" Text="Item2">
                                    </ext:MenuItem>
                                </Items>
                                <Listeners>
                                     <Click Handler="#{DirectMethods}.refreshScreen()" />
                                </Listeners>
                            </Menu>
                        </ext:MenuPanel>
                    </Items>
                </ext:Panel>
            </West>
            <Center>
                <ext:Panel ID="centralPanel" runat="server" Title="Center">
                    <Items>
                        <ext:Panel ID="onePanel" runat="server" Height="300" Title="Title">
                            <Items>
                                <ext:Label ID="lbl" runat="server" Text="Just a Label">
                                </ext:Label>
                            </Items>
                        </ext:Panel>
                        <ext:Panel ID="statePanel" runat="server" Height="300" Title="Title">
                            <Content>
                                <table>
                                    <tr>
                                        <td>
                                            <ext:ComboBox ID="cmbState" runat="server" StoreID="statesStore" ValueField="id"
                                                DisplayField="denominacion" Editable="false" EmptyText="Select the state..."
                                                TriggerAction="All" ForceSelection="true" Mode="Local">
                                                <Listeners>
                                                    <Select Handler="#{DirectMethods}.refreshScreen()" />
                                                </Listeners>
                                            </ext:ComboBox>
                                        </td>
                                    </tr>
                                    <tr id="lowStateCause" runat="server">
                                        <td>
                                            <ext:TextField Text="Indicate here the reason" ID="txtCauseOfLow" runat="server">
                                            </ext:TextField>
                                        </td>
                                    </tr>
                                </table>
                            </Content>
                        </ext:Panel>
                    </Items>
                </ext:Panel>
            </Center>
        </ext:BorderLayout>
    </Items>
</ext:Viewport>
The Code-Behind (.cs)

using System;
using System.Collections;
using System.Configuration;
using System.Data;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Ext.Net;


public partial class WebLab_ComboExampleUserControl : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            refreshScreen();

        }
    }

    [DirectMethod]
    public void refreshScreen()
    {
        bool isFirsTime = false;

        if (menuPanel.SelectedIndex == -1)
        {
            menuPanel.SelectedIndex = 0;
            isFirsTime = true;
        }

        hideAllCentralPanels();

        switch (menuPanel.SelectedIndex)
        {
            case 0:
                //OneOptionPanel
                onePanel.Visible = true;
                break;

            case 1:
                //StatePanel
                //If "low state" ("baja") is selected the show the hidden row.
                if (this.cmbState.SelectedIndex != -1 && this.cmbState.SelectedItem.Text.Equals("Baja"))
                {
                    lowStateCause.Visible = true;
                }
                else
                {
                    lowStateCause.Visible = false;
                }
                statePanel.Visible = true;
                break;
            default:
                break;
        }

        /*I do this because if I execute this when the page loads for the first time
          the page is not shown*/
        if (!isFirsTime)
        {
            /*Only update content IF is not the first time.. Look that in Page_Load method I call
              this onePanel*/
            centralPanel.UpdateContent();
        }
    }

    [DirectMethod]
    public void hideAllCentralPanels()
    {
        statePanel.Visible = false;
        onePanel.Visible = false;
    } 
}
And finally the code of the page that calls the User Control (.aspx) is just:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="WebLab_CSS_Test2" %>
<%@ Register src="ComboExampleUserControl.ascx" tagname="CEUC" tagprefix="uc2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>TEST</title>
</head>
<body>
    <form id="form1" runat="server">
    <uc2:CEUC ID="combo" runat="server" />
    </form>
</body>
</html>
I know that, when you use MasterPage or UserControl the "ids" of the components are not the same we expected them to be, because that "id" is made dinamically when the page runs. For that reason, I suppose, exists the famous "#{DirectMethods}" that will help to complete the correct path at runtime.

But my problem is a little more weird. When I pass from "Item1" to "Item2" (in the Menu form the left bar) I show the "StatePanel" and I hide all the other ones. At that time, I have to decide if I'll show all, or just some rows of the table that these panel contains. For example, I should only show the "lowStateCause" row if the user selects the state "low" from the above combo box. All this checks are centralized in one method called "refreshScreen" where, among other things, I check the selected index of the left Menu (to see If "item1" or "item2" is being selected) and I check, of course, the selection of the combo box (cmbState) for deciding if I should or not show the "lowStateCause" row.

The main problem I have is that, when the directmethod runs (because it actually runs, I could check it debugging it) I can't obtain the value of the combobox "cmbState". It's weird because the SelectedIndex is always -1 and the SelectedItem.Value is always "".
In the other hand, I am able to read the selected index of the left menu! (this make thing a little more confusing) I can read values from one componente buut, not from other. What's more, when I click the combobox it appear to be selected for an instant and then, it lost the selected value and shows again "Select an state".. !? why?!

Finally I realised that this only happens when I have the code I showed before in a MasterPage or a UserControl. (I need to have all this in a UserControl). If I have all this example running just in a normal and independent aspx page, it works fine and I am able to read the value of the combo box.

I thought It was something related to the change of "id" during the runtime but it doesn't explains why I am able to read the selected index of the Menu of the left bar. So, I'm in shadows.

Another thing that happens, whatever if it's defined in a aspx independent page or on a user control or masterpage, and I consider a problem too is that when I leave the "actual topic" to see other and I returned again to the same topic, all the selected values of the components are lost. For example, suppose that the combo retains it selected value (which I explain before it doesn't, I don't know why) if I go to "Item1" and come back to "Item2" the combo doesn't has any selected value. why? I don't know.. I only do ".Visible=true" and ".Visible=false" to the panels, but I expected that the components that they have would maintain their values.

I was wondering if this is because I use the "Panel.UpdateContent()" method which I really need to use for updating the central panel so that it only shows the panel that have to be shown.

Well, to sum up:

Problems

#1 I can't obtain the value of a ComboBox (sounds silly) but, when it's defined on a master page or user control.
#2 When I leave a topic and come back again to it, all the already selected values of the components are lost. (I don't know what .UpdateContent() method actually does internally in a specific way, but it's my suspect #1)

I would really appreciate any help that anybody could give me.. I've been dealing with this almost a week! It's really getting over my nerves jeje.. and I really need to do this!

Maybe, you should suggest me other ways of doing what I'm doing.. maybe all the "refresh" stuff (with all the panels inside the central panel) is not the best election, but I didn't find other way..

Thanks a lot in advance...!!! :)

Christian.