UpdatePanel在imagebutton点击事件上没有更新

本文关键字:更新 事件 imagebutton UpdatePanel | 更新日期: 2023-09-27 17:50:20

我正在创建一个网页与几个updatepanels嵌套在一个父updatepanel。我已经定义了所有需要让某些控件更新其他updatepanels中的控件的触发器,我已经将每个updatepanelupdatemode设置为conditional,并将属性childrenastriggers设置为false,几乎一切都在相应地工作。但是我遇到了一个imagebutton_Click事件:当我单击imagebutton时,它调用事件,但不更新单个updatepanel,尽管我在相同的updatepanel中有几个其他imagebuttons更新他们的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;
        }
    }

UpdatePanel在imagebutton点击事件上没有更新

我得到了这个工作,在看了各个方面之后,似乎我只需要在一个大的父更新面板上的一个页面上拥有所有的独立更新面板(我认为它是在我发布这个"——"时,将updatemode更改为条件并定义我的触发器。