webForumDet fria alternativet

Nybörjarfråga - fylla Labels

.NET

3 svar · 250 visningar · startad av emilax

Medlem sedan feb. 20052 inlägg
Frågan#1

Hejsan!
Kan någon hjälpa mig med hur jag ska fylla mina Labels (Label0101 - Label0109) med slumpade tal? Det fungerar att göra enligt nedan, men när det börjar handla om fler labels blir det lite klumpigt att göra på detta viset...

Jag försökte mig på att använda en Array men då fick jag inte till det.
Finns det någon kunnig där ute som har något bra förslag på bättre metoder?

-------------------------------------------
private m_Rnd As New Random

function Slump() As Integer
    Slump = m_Rnd.Next(1,11)
end function

sub FyllNummer(obj as object, e as eventargs)
        'Slumpa nummer till labels
        Label0101.Text = Slump
        Label0102.Text = Slump
        Label0103.Text = Slump
        Label0104.Text = Slump
        Label0105.Text = Slump  
        Label0106.Text = Slump
        Label0107.Text = Slump
        Label0108.Text = Slump
        Label0109.Text = Slump
        Label0110.Text = Slump
        .
        .
        .
        \<td align="middle" width="20"\>
        \<asp:Label id="Label0101"     runat="server"\>\</asp:Label\>\</td\>
        .

-------------------------------------------------

Medlem sedan sep. 20011 914 inlägg
#2
Sub FyllNummer(sender As Object, e As EventArgs)
   'Ändra 4 till så många labels du vill ha
   Dim dummydatasource(4) As String
   repLabels.DataSource = dummydatasource
   repLabels.DataBind()
End Sub 'FyllNummer

Sub repLabels_itemdatabound(sender As Object, e As RepeaterItemEventArgs)
   If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
      Dim rnd As New Random()
      CType(e.Item.FindControl("lbNumber"), Label).Text = rnd.Next(1, 11).ToString()
   End If
End Sub 'repLabels_itemdatabound
<asp:repeater id="repLabels" OnItemDataBound="repLabels_itemdatabound" runat="server">
	<itemtemplate>
		<asp:label id="lbNumber" runat="server" />
	</itemtemplate>
</asp:repeater>
Medlem sedan nov. 20022 355 inlägg
#3

du kan använda dig av en loop som har en räknare (i) som du sedan använder för att hitta lable för label:
i for loopen kan du ha följande:

((Label)FindControl("lbl"+i.ToString())).Text

alternativt kan du loopa igenom alla controller på din panel/form eller var du nu har dem. Och ge dem värde på det sättet!

Medlem sedan feb. 20052 inlägg
#4

Tack

Tack för svaren! Nu har jag lite att prova vidare med...

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)