Hej Oj det blev lite dubbletter där. Testa att göra detta under Page_Prerender, men inte på masterpagen!!! Jag är ingen expert på Master Pages (än), men ett krux med dem är ju att respektive Content Page inte är en subklass till sin Master Page. Kod i subklassen når kod i sin master page genom t.ex.: Det är därför jag skriver att du inte ska göra det i masterpagen, för masterpagen vet inte vilka sidor den kommer blandas ihop med. Men sidorna vet vilken som är masterpagen!Clear all textbox i masterpage?
Jag får inte till detta
<code>
foreach (Control ctl in Page.Controls[0].Controls)
{
TextBox tb = ctl as TextBox;
if (tb != null)
{
tb.Text = "";
}
}
</code
Hur gör jag för att den ska hitta kontrollerna när jag använder mig av masterpages.Sv: Clear all textbox i masterpage?
Var nog lite trött när jag skrev frågan. Men jag vill bara förtydliga mig lite iförhoppning om hjälp.
Jag har en massa textbox och dropdownlister som har fyllts med en massa data i ett sök formulär. Och när jag trycker på en clear/cancel knapp ska alla fält bli tomma.
Hur lyckas man göra detta med en smart funktion istället för att gå in på varje kontroll och rensa värdet, när sidan ligger under en masterpage.
Väldigt tacksam för svar
/JohanSv:Clear all textbox i masterpage?
Sen loopar du igenom i en rekursiv funktion såhär:
här får du lite pseudokod, kan vara lite fel i koden .... testa runt
<code>
sub page_prerender
EmptyControls(Me.Page)
end sub
sub EmptyControls(page)
for each c as control in me.page.controls
EmptyControls(c)
next
end sub
sub EmptyControls(Control)
for each c as control in Control.Controls
EmptyControls(c)
if c.gettype Is TextBox Then c.text = ""
next
end sub
</code>Sv:Clear all textbox i masterpage?
MyMasterPage mp = (MyMasterPage) Page.Master;
mp.ClearAllTextboxes();
Och mastern har så vitt jag vet ingen kontakt med contentsidans controls-kollektion, så jag skulle tippa att man får skicka med den till metoden, typ:
MyMasterPage mp = (MyMasterPage) Page.Master;
mp.ClearAllTextboxes(Page.Controls[0].Controls);
På så sätt får du iallafall behålla koden för ClearAllTextboxes på mastersidan, och slipper ha den duplicerad på varje contentsida.Sv: Clear all textbox i masterpage?
Vilket leder till att får köra min rekursiva funktion från dessa sidor. Alt. har du en bas-sida som alla dessa sidor ärver från, och stoppa in rekursiva funktionen i den bas-sidan.