2008-12-09 10 views

Antwort

33

Ich nehme an, Sie suchen nach einer Auswahlbox visuell wie die ListBox, dh mit mehreren Zeilen angezeigt, aber funktional wie die DropDownList (so dass nur eine Auswahl möglich ist).

Es sieht so aus, als gäbe es keine besonders einfache Möglichkeit, dies mit ListBox zu lösen. Ich würde mit Html.DropDownList, ähnlich wie dies vorschlägt:

<%= Html.DropDownList("list1", 
    new Dictionary<string, object> {{"size", "5"}}) %> 

Die Größe Attribut wird der Auswahlbox das Aussehen einer List-Box geben. Außerdem müssen Sie Ihr ViewData-Element von MultiSelectList in SelectList ändern.

+0

BTW die HTML-Spezifikation sagt, SIZE statt ROWS zu verwenden. Vielleicht funktionieren beide, da bin ich mir nicht sicher. –

+2

Ich denke, es muss neu sein {size = 5} –

+0

Sie haben Recht. Gehirnlücke - hielt es für eine Reihe von Zeilen, sah es als Größe nach und schrieb trotzdem Zeilen. Ich werde meine Antwort bearbeiten. –

-2

Die folgenden sollten es tun: Das Objekt wird in eine Liste von Attributen für das select-Element übersetzt.

Html.DropDownList ("list1", new Object {@rows = 5, @multiple = false})

+0

Auch wenn Sie multiple = false setzen, endet es immer noch als