Checkbox Array Schleife in C #

stimmen
1

Ich bin lange Reihe von überprüft HTML-Checkbox-Werten (Request.Form [ „mylist“] zurückzukehren Wert1, Wert2, Wert3 ....) auf dem Formular Post in ASP.NET 2.0-Seite zu empfangen.

Jetzt will ich einfach Schleife diese aber ich weiß nicht, was die beste Praxis Schleife ist diese Anordnung von String. Ich versuche, so etwas zu tun:

foreach (string Item in Request.Form[mylist]){
  Response.Write(Request.Form[mylist][Item] + <hr>);
}

Aber es funktioniert nicht.

Veröffentlicht am 02/07/2009 um 15:37
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
6

Sie haben die kommagetrennte Zeichenfolge zu teilen. Versuchen

string myList = Request.Form["myList"];
if(string.isNullOrEmpty(myList))
{
    Response.Write("Nothing selected.");
    return;
}
foreach (string Item in myList.split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries))
{
  Response.Write(item + "<hr>");
}
Beantwortet am 02/07/2009 um 15:40
quelle vom benutzer

stimmen
0

Ich empfehle nicht, Split in der Formularwerte verwenden, um Splitting Werte mit Kommas zu verhindern.

string myList = Request.Form.GetValues("myList");
foreach (var Item in myList)
{
  Response.Write(item + "<hr>");
}
Beantwortet am 10/12/2012 um 10:01
quelle vom benutzer

stimmen
0

Zur Vervollständigung und Antwort des Debug-DolceVita- der eine wichtige und richtige Stelle hat ...

Mit dem folgenden Beispiel HTML

<p>Select numbers for a sum:</p>
<input type="checkbox" id="c1" name="myList" value="1"/><label for="c1">1</label>
<input type="checkbox" id="c2" name="myList" value="2"/><label for="c2">2</label>
<input type="checkbox" id="c3" name="myList" value="3"/><label for="c3">3</label>

Sie können durch ausgewählte Kontrollkästchen lesen

var sum = 0;
var selectedNumbers = Request.Form.GetValues("myList");

if (selectedNumbers != null)
{
    foreach (var selectedNumber in selectedNumbers)
    {
        // my example uses integers
        var number = int.Parse(selectedNumber);
        sum += number;
    }
}

Response.Write("<p>Sum: " + sum + "</p>");
Beantwortet am 16/12/2015 um 01:19
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more