2011-01-13 4 views

Antwort

1

Die Formcollection werden alle Werte, die auf der Ansicht Form sind. Sie können die Sammlung nach Index- oder Steuerelementnamen durchsuchen.

0

Ja, Sie könnten verwenden method="POST" auf dem Formular und auf diese Weise alle Werte entlang des POST Körper und nicht in dem Query-String gesendet werden. Beispiel:

<% using (Html.BeginForm()) { %> 
    ... some input fields 
<% } %> 

Und in Ihrer Controller Aktion, die Sie entweder ein stark typisierte Ansicht Modell dank zurück, diese Werte zu holen nutzen könnten, um das Standardmodell Bindemittel (empfohlen):

[HttpPost] 
public ActionResult Index(MyViewModel model) 
{ 
    ... 
} 

oder sie aus dem Abruf Anfrage:

[HttpPost] 
public ActionResult Index() 
{ 
    var param1 = Request["param1"]; 
    var param2 = Request["param2"]; 
    ... 
} 
+0

Es gibt nichts besonders falsch mit dem Zugriff auf das 'Request []' -Objekt, aber ich glaube, eine [FormCollection] (http://msdn.microsoft.com/en-us/library/system.web.mvc. formcollection.aspx) als Aktionsparameter inline mit den Best Practices von MVC. –

2

mpminnich Antwort Um zu klären, können Sie eine FormCollection als Aktionsparameter akzeptieren:

public ActionResult Add(FormCollectiom form) { 
    var foo = form["fieldName"]; 
    ... 
} 
+0

Danke. Ich denke, ein visueller wäre viel besser gewesen. :-) –

Verwandte Themen