2015-10-16 28 views
6

Co się stało z FormCollections z System.Web.Mvc? W przeszłości używałbym czegoś takiego, jak string value = data.GetValues(key).FirstOrDefault();, gdzie dane są kolekcją form. Teraz, gdy próbuję zaimplementować FormCollection, pochodzi z Microsoft.AspNet.Http.Internal. Który nie zawiera metody GetValues.FormCollections brakuje w ASP.Net 5

Używam obecnie wersji beta 8 z MVC.

Odpowiedz

7

Wygląda na to, że kolekcja formularzy jest obecnie reprezentowana przez interfejs IFormCollection, który dziedziczy po IReadableStringCollection, który jest wyliczany na podstawie kluczy i wartości w kolekcji formularzy przekazanych w żądaniu http. Może być również używany do dostać się do wartości dla klucza poprzez indeksowanie:

var myValues = this.Request.Form[someKey]; 
3

można uzyskać do niego dostęp za pośrednictwem Request.Form w sterownikach. Zamiast GetValues metody, wartości te są dostępne z jego indeksowania jako:

var id = Request.Form["id"]; 

PS: Jeśli podany klucz nie istnieje, to nie zwraca null lub rzucać żadnego wyjątku. Zamiast tego zwraca StringValues.Empty.