Ich poste eine einfache Aktion.sollte Formcollection auf asp.net leer sein mvc GET Anfrage
public void Login(FormCollection formCollection)
{
...
}
Auch mit wenigen Abfragezeichenfolgeflag Werte, die formcollection.Count
ist . Ist es durch Verhalten?
Wenn Ihre Aktion wirklich "einfach" ist, warum erklären Sie nicht einfach Aktionsargumente für jede Variable, die Sie voraussichtlich übergeben werden? Das MVC-Framework bindet diese Variablen automatisch für Sie, was bedeutet, dass (1) es funktioniert, unabhängig davon, ob die Variable in der Route, der URL oder den Formulardaten übergeben wird, und (2) es Ihren Code viel leichter lesbar macht , verstehen und testen. In den meisten Fällen ist die Übergabe von "FormCollection" an ein Argument ein Anti-Pattern und sollte vermieden werden. –
@Seth - Was ist, wenn die Methode ein Ajax-Request-Handler ist? In diesem Fall würde ich lieber einen richtigen Json (new {success = false, errorMsg = "..."}) als die ASP.NET-Fehlerseite zurückgeben, wenn der Parameter fehlerhaft ist oder fehlt. –