---
title: "Extra värden till renderade checkboxar?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/144583-extra-värden-till-renderade-checkboxar"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "trexter"
published: "2006-03-26T08:50:56.000Z"
updated: "2006-03-29T04:20:14.000Z"
replies: 7
views: 642
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/144583-extra-värden-till-renderade-checkboxar"
---

# Extra värden till renderade checkboxar?

## #1 — trexter, 2006-03-26T08:50Z

Hepp, hepp! 
Jag renderar på en sida ett gäng checkboxar. Vissa av dem kommer i förväg kryssas i. När användaren postar tillbaka informationen till servern vill jag veta vilka som redan innan var ikryssade.

Med andre ord vore det trevligt om man i code behind kunde lägga in ett "true/false" värde kopplat till en ListItem och som jag sedan kan hämta vid postback.

Typ. :)

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

## #2 — emission, 2006-03-26T09:57Z

Det komplicerade sättet är att skapa en egen Checkbox-kontroll med den funktionaliteten. Det enkla är att lagra ursprungsvärdena (kommaseparerade) i ett hidden-fält eller i viewstate.

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

## #3 — trexter, 2006-03-26T10:15Z

Om jag anv'nder t ex ViewState och vill lägga till ett "true"-värde till vissa checkboxar - hur gör jag det och hur kollar jag sedan värdet när sidan postas tillbaka?

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

## #4 — trexter, 2006-03-28T19:39Z

Det här får jag inte rätt på. :)

Med denna kod lägger jag till data till checkboxar och lägger till id-nummer i ett hidden-fält kallat just "hidden".

```
            bool b = false;
            String s = "";
            while (dr.Read())
            {
                try
                {
                    b = (Int32.Parse(dr["StatusID"].ToString()) == Int32.Parse(dr["ArendeStatus_Status"].ToString())) ? true : false;
                }
                catch (Exception e) 
                {
                    
                }

                ListItem l = new ListItem(dr["StatusText"].ToString() + " " + dr["ArendeStatus_Datum"].ToString(), dr["StatusID"].ToString());

                l.Selected = b;
                this.check.Items.Add(l);

                [b]if (b) {
                    s += dr["ArendeStatus_Status"].ToString()+";";
                }
                hidden.Text = s;[/b]
            }
            dr.Close();
```

När formuläret sedan postas tillbaka använder jag denna kod:

```
    public void StatusSave(string strArende) {

        String[] arrID = hidden.Text.Split(';');
        
        
        for (int i = 0; i < check.Items.Count; i++)
        {
            Boolean b = false;
            for (int j = 0; j < arrID.Length; j++) {
                [b]if (Int32.Parse(check.Items[i].ToString()) == Int32.Parse(arrID[j]))[/b]
                {
                    b = true;
                }
            }

            if (b) {
                if (!check.Items[i].Selected) {
                    //gör delete
                }
            } else {
                if (check.Items[i].Selected) 
                {
                    
                    //gör insert
                }
            }
        }
    }
```

Men jag får

> Exception Details: System.FormatException: Input string was not in a correct format.

på den fetmarkerade raden

 :)

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

## #5 — trexter, 2006-03-28T20:32Z

..

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

## #6 — trexter, 2006-03-28T21:06Z

Hehe, inte många som är igång idag. Men jag fortsätter att fråga. har ett riktigt sjukt fel här.

```
                    SqlCommand myCommand = new SqlCommand("insert into ArendeStatus (ArendeStatus_Arende, ArendeStatus_Status, ArendeStatus_Datum, ArendeStatusAnvID) values (@ArendeStatus_Arende, @ArendeStatus_Status, @ArendeStatus_Datum, @ArendeStatusAnvID)", myConnection);
                    myCommand.Parameters.Add("@ArendeStatusAnvID", SqlDbType.Int, 10).Value = UserIdentityName[1];
                    myCommand.Parameters.Add("@ArendeStatus_Arende", SqlDbType.Int, 4).Value = strArende;
                    myCommand.Parameters.Add("@ArendeStatus_Datum", SqlDbType.DateTime).Value = DateTime.Now;
                    myCommand.Parameters.Add("@ArendeStatus_Status", SqlDbType.Int, 4).Value = check.Items[i].Value;

                    

                    try
                    {
                        myCommand.ExecuteNonQuery();
                    }
                    catch (SqlException e) {
                        Message.Text += e.Message;
                    }
```

Får  "Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is Closed."

och om jag lägger till  Exception Details: System.InvalidOperationException: The connection is already Open (state=Open). får jag:

 Exception Details: System.InvalidOperationException: The connection is already Open (state=Open).

   :q

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

## #7 — trexter, 2006-03-28T23:17Z

Alla problem lösta. :)

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

## #8 — Choronzon, 2006-03-29T04:20Z

Vad var problemet, och hur såg lösningen ut?  :OO

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/144583-extra-värden-till-renderade-checkboxar
