UpdatePanel не обновляется при нажатии кнопки изображения - PullRequest
2 голосов
/ 17 апреля 2011

Я создаю веб-страницу с НЕСКОЛЬКИМ updatepanels, вложенным в ОДНОГО родителя updatepanel.Я определил все триггеры, необходимые для того, чтобы определенные элементы управления обновляли элементы управления, находящиеся в других updatepanels, я установил для каждого updatepanel updatemode значение conditional, а для свойства childrenastriggers - falseи почти все работает соответственно.Но я спотыкаюсь об одном событии imagebutton_Click: когда я нажимаю imagebutton, оно вызывает событие, но не обновляет один updatepanel, хотя у меня есть несколько других imagebuttons в том же updatepanel, которое обновляетих updatepanels просто отлично.

Теперь это может быть просто задачей imagebutton, вызывающей проблему:

  • imagebutton запускает таймер
  • imagebuttonдобавляет предопределенную таблицу с данными в другом updatepanel.
  • imagebutton активировал объект таймера

Возможные уже опробованные решения: - Я попытался установить causesvalidationна false (свойство imagebutton) - я пытался использовать myscriptmanager.registerASyncPostBack(imagebutton)

код моей кнопки (хотя на самом деле это не что-то необычное):

protected void imbformulier_Click(Object sender, ImageClickEventArgs e)
{
        imbFormulier.Visible = false;
        imbGebruikers.Visible = false;
        imbModellen.Visible = false;
        pnlGegevens1.Visible = false;
        pnlGegevens2.Visible = true;
        pnlNavigatie.Visible = true;
        pnlEvaluatie.Visible = true;


        //kijken welk formulier moet ingevuld worden adhv de ddl's en dit meegeven aan de zelfgemaakte klasse

        List<EvaluatieFormulier> mijnformulieren = (List<EvaluatieFormulier>)Session["mijnformulieren"];
        IEnumerator<EvaluatieFormulier> enumerator = mijnformulieren.GetEnumerator();
        EvaluatieFormulier meetegeven = new EvaluatieFormulier();
        while (enumerator.MoveNext())
        {
            if (((enumerator.Current.GebruikergeevalueerdID == ddlGebruikers.SelectedValue) && (enumerator.Current.ModelID == Convert.ToInt32(ddlModellen.SelectedValue))))
            {
                meetegeven = enumerator.Current;
                //Eventueel tekst veranderen als er al was gewerkt aan een bepaalde evaluatie
                if (meetegeven.Tijdaangewerkt == 0)
                {
                    lblInfo.Text = "Evaluatie gestart van " + ddlGebruikers.SelectedItem.Text;
                    lblDatum.Text = "Evaluatie begonnen op: "+  DateTime.Now.Date.ToString("d/M/yyyy") + "(Vandaag)" ;
                    //updaten in database
                    Session["aantalminutenaangewerkt"] = 0;
                    Session["aantalsecondenaangewerkt"] = 0;
                    timTijdAanGewerkt.Enabled = true;
                    lblTijd.Visible = true;
                }
                else
                {
                    lblInfo.Text = "Evaluatie verdergezet van " + ddlGebruikers.SelectedItem.Text;
                    lblDatum.Text = "Evaluatie laatst gewijzigd : " + meetegeven.Tijdingevuld.ToString();
                    Session["aantalminutenaangewerkt"] = meetegeven.Tijdaangewerkt;
                    Session["aantalsecondenaangewerkt"] = 0;
                    timTijdAanGewerkt.Enabled = true;
                    lblTijd.Visible = true;
                }
            }
        }


        Evaluatieform formulier = new Evaluatieform(meetegeven);
        pnlEvaluatie.ContentTemplateContainer.Controls.Add(formulier.EvaluatiePanel);
        Session["formulier"] = formulier;

        if (formulier.evaluatiemodel.Domeins.Count > 4)
        {
            imbVorige.Visible = false;
            imbvolgende.Visible = true;
        }
        else
        {
            imbVorige.Visible = false;
            imbVorige.Visible = false;
            imbvalideren.Visible = true;
        }
    }

1 Ответ

0 голосов
/ 18 апреля 2011

Я заставил это работать, после рассмотрения каждого аспекта. Похоже, мне просто нужно было иметь всю отдельную панель обновлений на одной странице в одной большой родительской панели обновления (которую я думал, что это было, когда я публиковал это "-измените режим обновления на условный и определите мои триггеры.

...