Slettet bruger
04. september 2007 - 15:42
Der er
20 kommentarer og 1 løsning
Definer en RadioButton OnPageLoad
Jeg har denne RadioButtonList vist herunder. Jeg ønsker en streng som validerer nogle parameter OnPageLoad og så vælger hvilken én af RadioButtons´ne som skal vises... Jeg har et lille eksempel som ikke rigtig vil virke... if(Convert.ToString(Session["menuID"]) > "0") { rbMenuPlacering.SelectedItem.Value == "1"; } else { rbMenuPlacering.SelectedItem.Value == "2"; } <!-- --> <asp:RadioButtonList ID="rbMenuPlacering" OnSelectedIndexChanged="UpdateRadioButton" AutoPostBack="True" RepeatDirection="vertical" runat="server"> <asp:ListItem Selected="true" Value="1">Undermenu</asp:ListItem> <asp:ListItem Selected="false" Value="2">Hovedmenu</asp:ListItem> <asp:ListItem Selected="false" Value="3">Ingen steder</asp:ListItem> </asp:RadioButtonList> <!-- -->
Annonceindlæg fra Computerworld
04. september 2007 - 15:45
#1
if(Convert.ToInt32(Session["menuID"].ToString()) > 0) { rbMenuPlacering.SelectedItem.Value == "1"; } else { rbMenuPlacering.SelectedItem.Value == "2"; }
04. september 2007 - 15:54
#2
Værdien skal vel sætte med = i stedet for ==.
Slettet bruger
04. september 2007 - 15:55
#3
Hvor er det skønt når svarene bare kommer i en lind strøm! Dog kan den ikke lide min validering: rbMenuPlacering.SelectedItem.Value == "1"; Giver mig denne fejlmeddelse: CS0201: Kun tildelinger, kald, adderinger, subtraheringer og udtryk til oprettelse af nye objekter kan bruges som en sætning ~:]
04. september 2007 - 15:56
#4
svaret på det problemer lægger i indlæg nr. 2
04. september 2007 - 15:58
#5
Alternativ skrivemåde: rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" : "2";
04. september 2007 - 16:00
#6
som ikke er læsevenlig:)
04. september 2007 - 16:03
#7
Kommer an på hvem der læser det ;)
04. september 2007 - 16:06
#8
Uanset om man kan lide den eller ej, skal man kende den. Alt andet er i øvrigt en smagssag. :^)
04. september 2007 - 16:06
#9
Nej den er ikke læsevenlig:) Jeg kan sagtens læse den og bruger det selv i mange situationer, men læsevenligt er det nu ikke.
04. september 2007 - 16:07
#10
nielle >> Korrekt.. det er også derfor, at man de fleste bøger (som jeg har læst) præsentere den for brugeren, men benytter den anden syntax i resten af bogen:)
04. september 2007 - 16:08
#11
Skal vi ikke bare sige at jeg er uenig med dig angående om den er læsevenlig eller ej. :^)
04. september 2007 - 16:10
#12
Det har du også lov til:) men så har du også glemt hvordan nybegyndere ser på sådan en kodelinje.
Slettet bruger
05. september 2007 - 08:37
#13
if(Convert.ToInt32(Session["menuID"].ToString()) > 0) { rbMenuPlacering.SelectedItem.Value = "1"; } else { rbMenuPlacering.SelectedItem.Value = "2"; } Denne giver ingen fejlmeddelser - men placer heller ikke radiobutton'en hvor den skal. if (!IsPostBack){ if(rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" : "2"); Denne virker heller ikke, men giver mig dog en fejlmeddelse: CS0029: Typen 'string' kan ikke implicit konverteres til 'bool' Kildefejl: Linje 11:if (!IsPostBack){ Linje 12:if(rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" : "2");<------------------------------ Linje 13:
05. september 2007 - 09:02
#14
De to stumper kode gør nu det samme det samme - hvis du ellers også har "if (!IsPostBack){ " på den første. ... Men, jeg gætter dog på at det du i virkeligheden ønsker at gøre er noget i stil med dette: if (Convert.ToInt32(Session["menuID"].ToString()) > 0) { rbMenuPlacering.SelectedIndex = 0; } else { rbMenuPlacering.SelectedIndex = 1; }
05. september 2007 - 09:38
#15
Koden: if (!IsPostBack){ if(rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" : "2"); skal i øvrigt se sådan her ud: if (!IsPostBack){ rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" : "2"; hvis den ikke skal give compile-fejl.
Slettet bruger
05. september 2007 - 11:58
#16
nielles eksempel fra 09:02 var den jeg manglede - et enkelt lille spørgsmål til sidst - hvordan får jeg min Session til at validere om et felt i databasen er tomt? - den er ikk´så glad for mit viste eksempel.... if (Convert.ToInt32(Session["menu"].ToString())>0) { rbMenuPlacering.SelectedIndex = 0; } else if (Convert.ToInt32(Session["menu"].ToString())="")<-- { rbMenuPlacering.SelectedIndex = 2; } else { rbMenuPlacering.SelectedIndex = 1; }
05. september 2007 - 12:01
#17
Der er ikke noget i din viste kode som handler om database?
05. september 2007 - 12:05
#18
Men hvis det er seession du mener, så skal der reigtig nok lige indføres nogle null-tjek: if (Session["menu"] == null || Session["menu"].ToString().Trim() == "") { rbMenuPlacering.SelectedIndex = 2; } else if (Convert.ToInt32(Session["menu"].ToString()) > 0) { rbMenuPlacering.SelectedIndex = 0; } else { rbMenuPlacering.SelectedIndex = 1; }
Slettet bruger
05. september 2007 - 12:11
#19
Narj - men min Session er et udtræk fra databasen! Session["menu"] = OurDataReader["menu"].ToString(); Derfor spørgsmålet - hvordan validerer jeg om Sessionen er enten: Under 0, over 0 eller tom? ~:]
Slettet bruger
05. september 2007 - 12:26
#20
Lige præcist hvad jeg manglede - smid et svar (nielle)og lad os få lukket denne tråd... ~:]
05. september 2007 - 12:51
#21
Svar :^) Ellers fint med mig hvis de andre også byder ind med svar. :^)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.