我正在創建一個網頁,幾個updatepanels
嵌套在一個家長updatepanel
。我已經定義了讓某些控件更新控件在其他updatepanels
中所需的所有觸發器,我已將每個updatepanel
的updatemode
設置爲conditional
,並且將屬性childrenastriggers
設置爲false
,並且幾乎所有內容都相應地工作。但我摔倒在一個imagebutton_Click
事件上:當我點擊imagebutton
時,它會調用該事件,但不會更新單個updatepanel
,雖然在同一個updatepanel
中有幾個imagebuttons
更新其updatepanels
就好了。UpdatePanel沒有更新imagebutton點擊事件
現在,這可能僅僅是導致該問題的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;
}
}