Avatar billede 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>
<!--  -->
Avatar billede kalp Novice
04. september 2007 - 15:45 #1
if(Convert.ToInt32(Session["menuID"].ToString()) > 0)
    {                 
    rbMenuPlacering.SelectedItem.Value == "1";
    }
    else
      {
        rbMenuPlacering.SelectedItem.Value == "2";
    }
Avatar billede hmortensen Nybegynder
04. september 2007 - 15:54 #2
Værdien skal vel sætte med = i stedet for ==.
Avatar billede 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
~:]
Avatar billede kalp Novice
04. september 2007 - 15:56 #4
svaret på det problemer lægger i indlæg nr. 2
Avatar billede nielle Nybegynder
04. september 2007 - 15:58 #5
Alternativ skrivemåde:

rbMenuPlacering.SelectedItem.Value = (Convert.ToInt32(Session["menuID"].ToString()) > 0) ? "1" :  "2";
Avatar billede kalp Novice
04. september 2007 - 16:00 #6
som ikke er læsevenlig:)
Avatar billede hmortensen Nybegynder
04. september 2007 - 16:03 #7
Kommer an på hvem der læser det ;)
Avatar billede nielle Nybegynder
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. :^)
Avatar billede kalp Novice
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.
Avatar billede kalp Novice
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:)
Avatar billede nielle Nybegynder
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. :^)
Avatar billede kalp Novice
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.
Avatar billede 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:
Avatar billede nielle Nybegynder
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;
        }
Avatar billede nielle Nybegynder
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.
Avatar billede 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;
        }
Avatar billede nielle Nybegynder
05. september 2007 - 12:01 #17
Der er ikke noget i din viste kode som handler om database?
Avatar billede nielle Nybegynder
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;
}
Avatar billede 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? ~:]
Avatar billede 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... ~:]
Avatar billede nielle Nybegynder
05. september 2007 - 12:51 #21
Svar :^)

Ellers fint med mig hvis de andre også byder ind med svar. :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester