---
title: "Siter fast vid knepig if-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/184864-siter-fast-vid-knepig-if-sats"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2010-10-07T19:50:36.000Z"
updated: "2010-10-08T08:04:17.000Z"
replies: 4
views: 565
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/184864-siter-fast-vid-knepig-if-sats"
---

# Siter fast vid knepig if-sats

## #1 — saw, 2010-10-07T19:50Z

Detta borde vara enkelt men jag misslyckas bara och måste därför tyvätt störa er igen.
Krav:
det måste finnas en rubrik,
man skall bara kunna skriva in på "DropDownList1.SelectedIndex == 0" om är Admin.
Jag försöker så här:

```
if (sRubrik.Length > 0)
            {
                bOk = true;
            }
            else
            {
                bOk = false;
                Label4.Text = "Du måste ha en rubrik!!!";
            }
            if (DropDownList1.SelectedIndex == 0)
            {
                if (Session["Roll"].ToString() == "Admin")
                {
                    bOk = true;
                }
                else
                {
                    bOk = false;
                    Label4.Text = "Du har inte behörighet att skriva i det forumet!!!";
                }
            }
```

Som det nu är, så blir det inget fel om det fattas en rubrik, men "Admin" fungerar.  :q

Permalänk: https://www.webforum.nu/p/184864

## #2 — aron, 2010-10-07T22:09Z

Om den andra if satsen körs skriver du ju över bOk och Label4.Text så det som sats av den första skrivs över.

Är det det du menar är "fel"?

Permalänk: https://www.webforum.nu/p/2256270

## #3 — nitro2k01, 2010-10-07T22:09Z

Du skriver över bOk i den andra if-satsen. Jag skulle i ditt fall gjort typ så här. (Med reservation för att typerna inte heter bool och String i .NET.)

```
bool bRubrikOk, bAdminOk;
String felMeddelande = "";

if (sRubrik.Length > 0)
            {
                bRubrikOk = true;
            }
            else
            {
                bRubrikOk = false;
                felMeddelande += "Du måste ha en rubrik!!! ";
            }
            if (DropDownList1.SelectedIndex == 0)
            {
                if (Session["Roll"].ToString() == "Admin")
                {
                    bAdminOk = true;
                }
                else
                {
                    bAdminOk = false;
                    felMeddelande += "Du har inte behörighet att skriva i det forumet!!!";
                }
            }

bOk = bRubrikOk && bAdminOk; /* && = logisk "och". Om både värdena är sanna blir resultatet sant. */
Label4.Text = felMeddelande;
```

Alternativ lösning: Räkna antalet fel.

```
int antalFel = 0;
String felMeddelande = "";

if (sRubrik.Length == 0)
            {
                antalFel++; /* ++ betyder "lägg till 1 till talet" */
                felMeddelande += "Du måste ha en rubrik!!! ";
            }
            if (DropDownList1.SelectedIndex == 0)
            {
                if (Session["Roll"].ToString() != "Admin")
                else
                {
                    antalFel++; /* ++ betyder "lägg till 1 till talet" */
                    felMeddelande += "Du har inte behörighet att skriva i det forumet!!!";
                }
            }

if (antalFel > 0){
    bOk = false;
}else{
    bOk = true;
}
Label4.Text = felMeddelande;
```

Permalänk: https://www.webforum.nu/p/2256271

## #4 — aron, 2010-10-07T22:31Z

Om jag skulle ha kodat det där skulle jag satt bOk till true från början och sedan bara kolla om längden är 0 och sedan om index är 0 och man inte är admin sätta till false.

Jaja onödiga rader spelar kanske ingen roll så länge det funkar :P

Permalänk: https://www.webforum.nu/p/2256272

## #5 — saw, 2010-10-08T08:04Z

Jag hadde tydligen suttit för länge med det, jag såg ingen lösning. Nu blev det bra, tack för eran medverkan.

Permalänk: https://www.webforum.nu/p/2256289

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/184864-siter-fast-vid-knepig-if-sats
