问题描述
|
我正在创建一个嵌套有一个父项
updatepanel
的几个updatepanels
的网页。我定义了让某些控件更新其他other0中的控件所需的所有触发器,我将每个ѭ1的ѭ4设置为conditional
,并将属性ѭ6设置为false
,几乎所有工作都在相应地进行。但是我绊倒了一个imagebutton_Click
事件:当我单击imagebutton
时,它会调用该事件,但不会更新单个updatepanel
,尽管我在同一个updatepanel
中还有其他几个imagebuttons
可以更新其updatepanels
。
现在,这可能只是导致问题的ѭ9的任务:
imagebutton
启动计时器
imagebutton
在另一个ѭ1table中添加了预定义的表,并带有数据。
ѭ9激活了一个计时器对象
可能的已尝试解决方案:
-我试图将causesvalidation
设置为false
(the9ѭ的属性)
-我试图用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放在一个大的父updatepanel中(我认为这是在我发布此\“-时在updatemode有条件并定义我的触发器。