üzerinde boş olmalıdır. Hatta birkaç sorgu dizesi değerleri ileformcollection asp.net mvc GET request
public void Login(FormCollection formCollection)
{
...
}
, formcollection.Count
olduğunu. Davranış mı?
üzerinde boş olmalıdır. Hatta birkaç sorgu dizesi değerleri ileformcollection asp.net mvc GET request
public void Login(FormCollection formCollection)
{
...
}
, formcollection.Count
olduğunu. Davranış mı?
FormSollection, POST değerlerini kullanır ve sorgu dizesinde neyin bulunmadığını değil. Eyleminiz şöyle olmalıdır:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(FormCollection formCollection)
{
...
}
Eğer eyleminiz gerçekten "basit" ise, neden iletilmek istediğiniz her değişken için neden eylem argümanlarını beyan etmiyorsunuz? MVC çerçevesi sizin için bu değişkenleri otomatik olarak bağlayacaktır, bu da (1) değişkenin rotada mı, URL'de mi yoksa form verisinde mi olduğuna bakılmaksızın çalışacaktır ve (2) kodunuzun okunmasını daha kolay hale getirir , anlayın ve test edin. Çoğu durumda bir argümana "FormCollection" geçerek bir anti-desen ve kaçınılmalıdır. –
@Seth - Yöntem ajax istek işleyicisi ise ne olur? Bu durumda, parametre hatalı veya eksikse, ASP.NET hata sayfasından ziyade uygun bir Json (yeni {success = false, errorMsg = "..."}) döndürmeyi tercih ederim. –