Als u één UpdatePanel verzendt, wist u het selectievakje in een ander UpdatePanel?

Ik heb twee selectievakjes in een updatepaneel. De ene is een ASP.NET CheckBox-besturingselement, de andere is slechts een HTML-code <input> . Ik heb een knop in een ander updatepaneel.

Dus hier is het relevante gedeelte van de pagina:


    
        <input type="checkbox" id="check1" name="check1" />HTML Input

Ik schakel beide selectievakjes in en klik vervolgens op de knop. Wat ik zie is dat het vinkje verdwijnt uit het vinkje dat alleen HTML is, maar het vinkje staat er nog steeds voor het CheckBox-besturingselement.

Waarom? Ik had gedacht dat nothing in het eerste updatepaneel zou veranderen, omdat ik een gedeeltelijke postback van het tweede updatepaneel doe.

Als ik de twee vakjes uit het updatepaneel verwijder, behouden ze beide hun vinkjes (zoals ik had verwacht).

1
Mitchel Sellers antwoord verklaart het. Ik zal hieraan toevoegen dat ik niet verrast had moeten zijn dat het CheckBox-besturingselement anders gedraaid heeft dan het invoerelement (hoewel ze beide als invoerelementen weergeven). De pagina zal telkens vanaf de standaardinstellingen door de levenscyclus van de pagina beginnen, maar de CheckBox zal de geboekte waarde in de LoadPostData-methode herstellen.
toegevoegd de auteur Tim Goodman, de bron

1 antwoord

Mijn gok is hier dat je updatepanelen zo moeten worden geconfigureerd dat ALLEEN het updatepaneel dat daadwerkelijk wordt gebruikt, is bijgewerkt. Wanneer UpdatePanel2 wordt bijgewerkt, worden beide panelen bijgewerkt. Ik geloof dat zolang u de eigenschap UpdateMode = "Voorwaardelijk" op UpdatePanel1 instelt, u het gewenste effect krijgt.

U kunt deze MSDN-documentatie bekijken op de UpdateMode eigenschap.

2
toegevoegd
Dit verklaart het, dank u. Ik denk dat ik dacht dat het gedrag dat je krijgt van UpdateMode = "Voorwaardelijk" de standaard was, maar dat is het niet.
toegevoegd de auteur Tim Goodman, de bron