Почему ASCx исчезают, если нажать кнопку Сохранить? - PullRequest
0 голосов
/ 27 августа 2010

Я добавил элемент управления ascx в элемент управления вкладкой с кодами C #.если вы нажмете какие-либо вкладки.ASCX контрольная нагрузка.вкладка управления на панели обновления.Элемент управления Alos ASCX включает в себя кнопку. Если нажать кнопку, вы можете добавить какое-то значение в базу данных, но ASCX исчезнет.Я думаю, что это перезагрузка.Как я могу решить это?Я загрузил элемент управления ascx, если щелкнул элемент управления вкладкой.У меня есть кнопка на ASCX.я нажал кнопку ASCX disapper ..

 

    protected void ASPxPageControl1_ActiveTabChanged(object source, 
        DevExpress.Web.ASPxTabControl.TabControlEventArgs e)
    {

        if (ASPxPageControl1.ActiveTabPage.Name == "Ali Sp. Reqs")
                PhAliSpReqs.Controls.Add(UserControlHelper.LoadControl(this.Page, "~/EngWebUserControl/AliSpReqs.ascx"));
        else if (ASPxPageControl1.ActiveTabPage.Name == "Test")
                PhTest.Controls.Add(UserControlHelper.LoadControl(this.Page, "~/EngWebUserControl/Test.ascx"));

ASCX:

public partial class Test : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void Button1_Click(object sender, EventArgs e)
    {
        if (txtTest.Text != String.Empty)
        {
            Label1.Text = "Hello!";
        }
        else
            Label1.Text = "Error";
    }
}

если я нажал на вкладку ВСЕ, ЧТО ХОРОШОНо нажмите кнопку на ascx.Контроль ASCx исчезнет.Как я могу решить это !!!

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Если вы добавляете элементы управления программно в коде, каждая операция пост-возврата должна заново создавать те же элементы управления (например, во время Page_Load) для обработки события пост-возврата (в вашем случае, кнопка Сохранить)

0 голосов
/ 27 августа 2010

Динамически добавленные элементы управления не имеют ссылочной переменной объекта в классе codebehind.Они появляются только в коллекции элементов управления, содержащей элемент управления, то есть в коллекции Page.Controls.Когда страница отправляется обратно на сервер в результате взаимодействия с пользователем, создается новый экземпляр класса codebehind, и все переменные класса устанавливаются со значениями из ViewState.см здесь

...