2009-08-07 5 views
2

in meiner asp.net Mvc Ansicht habe ich ein dropdown:Drop-Down-Combo zeigt sich nicht in Formcollection in Controller

<select id="userRole" name="userRole" disabled="true"> 

, wenn ich das Formular an die Steuerung übermitteln, habe ich den folgenden Code:

[Authorize] 
    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Edit(FormCollection formCollection_) 
    { 
     string role = formCollection_["userRole"].ToString(); 
} 

aber wenn ich in das FormCollection-Objekt schaue, gibt es keinen Schlüssel für "userRole". Irgendeine Idee warum das wäre?

Antwort

2

Sollte nur

<select id="userRole" name="userRole" disabled> 

aber deaktiviert Eingänge will not be part of your FormCollection "successful control"

+0

sein, das ein bisschen seltsam. Gibt es sowieso eine Kontrolle deaktiviert zu haben, aber immer noch an den Controller übergeben. Ich möchte alle klugy versteckte Felder wenn möglich vermeiden – leora

+0

versuchen, Readonly anstelle von deaktiviert http://www.w3.org/TR/html401/interact/forms.html#h-17.12.2 –

+0

Ist <... deaktiviert> gültiges Markup? Ich denke, es muss deaktiviert = "deaktiviert" sein? –

Verwandte Themen