webForumDet fria alternativet

Ändra text i en dropdownlist

.NETur .NET

4 svar · 338 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Fyller en ddl med data från databas via en objectdatasourse.
Nu skulle jag vilja ändra texten beroende på vad värdet är.

Om värdet='0' så ska nya texten bli 'min nya text' typ (fortfarande med samma värde).
Det borde väl vara en enkel sak!
Men jag hittar liksom inget event som passar in där jag kan gå in och göra denna ändring, så hur gör jag?

Förtydligande:
Orginal html kod:

<option value="0">Gammal text</option>

Ska bli:

<option value="0">Ny text</option>

Kod:

<asp:DropDownList ID="ParentId" runat="server" DataSourceID="ObjectDataSource1" DataTextField="PageName" DataValueField="PageId"></asp:DropDownList>

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetPages" TypeName="PagesBLL">
</asp:ObjectDataSource>
Medlem sedan sep. 200278 inlägg
#2

Det finns väl ett event för det? (OnDataBound)

Alternativt kan du ju i PreRender iterera över de items som finns och ändra Text om Value == 0.

:)

Medlem sedan juni 20003 076 inlägg
#3

Mm, jag såg att ondatabound fanns men jag hajjar inte hur jag kan använda den då ondatabound inte har några specifika eventargs.
Hur skulle det se ut då?

protected void ParentId_DataBound(object sender, EventArgs e)
{

}
Medlem sedan sep. 200278 inlägg
#4

Nej, det har du ju förståss rätt i, my bad.

sender kan du dock göra om till en DropDownList och iterera över dess items.

Typ..

DropDownList ddl = sender as DropDownList;
foreach (ListItem item in ddl.Items)
{
    if (item.Value == "0")
        item.Text = "Värdet är noll";
}
Medlem sedan juni 20003 076 inlägg
#5

Aha, kan man göra så, va trevligt! :) :bire

135 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)