UpdatePanel在imagebutton点击事件上没有更新
本文关键字:更新 事件 imagebutton UpdatePanel | 更新日期: 2023-09-27 17:50:20
我正在创建一个网页与几个updatepanels
嵌套在一个父updatepanel
。我已经定义了所有需要让某些控件更新其他updatepanels
中的控件的触发器,我已经将每个updatepanel
的updatemode
设置为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;
}
}
我得到了这个工作,在看了各个方面之后,似乎我只需要在一个大的父更新面板上的一个页面上拥有所有的独立更新面板(我认为它是在我发布这个"——"时,将updatemode更改为条件并定义我的触发器。