<code> Du borde kunna använda dig av funktion Page.FindControl och leta efter din label med den. Hmm, jag får det inte att fungera. Steppa i koden och se vad som är null. Aaah! Tack nu fungerar det! Annars kan du ju skriva en rekursiv funktion som hittar kontrollen.lbl_ + lbl_name + ".Text" = "Hej!"
public void setLabel(string lbl_name)
{
lbl_ + lbl_name + ".Text" = "Hej!"
}
</code>
Finns det någon möjlighet att göra något likanande texten ovan?
Dvs jag vill skicka namnet på en label till en metod eller liknande och sedan fylla labeln med data.
Om det nu är någon som vet hur jag menar.
Tack på förhand!Sv: lbl_ + lbl_name + ".Text" = "Hej!"
Label lbl = this.FindControl(lbl_name) as Label;
if ( lbl != null )
lbl.Text = "Hej";
Sv: lbl_ + lbl_name + ".Text" = "Hej!"
Sv:lbl_ + lbl_name + ".Text" = "Hej!"
Jag får "Object reference not set to an instance of an object." hela tiden.
Om jag har if-satsen går den aldrig in och försöker sätta texten och tar jag bort den får jag ovanstående felmeddelande.
Så här har jag gjort.
<code>
protected void setLabel(string lbl_name, int lbl_value)
{
Label lbl = this.FindControl(lbl_name) as Label;
if (lbl != null)
{
lbl.Text = DPR.FieldValues.GetValue(lbl_value).ToString();
}
}
</code>Sv: lbl_ + lbl_name + ".Text" = "Hej!"
Antingen är "this" null eller så hittas inte lbl_name
Du måste utgå från överordnat objekt. T.ex. om labeln finns i en TD "MinCell",
Ska du använda MinCell.FindControl.
(han letar inte rekursivt genom hela sidan)Sv:lbl_ + lbl_name + ".Text" = "Hej!"
Den låg i en multiview så jag lät den leta där och "hepp!" så funkade det.
Fast det förtar ju lite av det hela eftersom jag ju måste tala om vilken den ligger i.
Änywey, tack allihopa!Sv: lbl_ + lbl_name + ".Text" = "Hej!"
Typ
Private function FindControl(ID as string, controls as controlscollection) as control
For each ControlX as Control in controlscollection
if controlx.name=ID then return controlx
elseif controlx.controls.count>0 then
Dim TempControl as control=FindControl(ID,controlx.controls)
if not TempControl is nothing then return TempControl
end if
Next
return Nothing
End function
Skriven utan VS och på vb:iska men du förstår kanske tanken.. :)
Mvh
Peter