ASP.NET MVC - denetleyici parametreleri geçirmeden
Aşağıdaki gibi bir eylem yöntemi ile bir denetleyicisi var
public class InventoryController : Controller
{
public ActionResult ViewStockNext(int firstItem)
{
// Do some stuff
}
}
Ve çalıştırdığımda belirten bir hata alıyorum:
Sözlük için geçerli bir değer içermiyor parametreleri türü 'System.'Parametresi ''. firstİtem Int32 İsteğe bağlı bir parametre haline getirmeye tür bir başvuru türü veya Null bir tür olmalıdır da.
Bir noktada çalışma vardı ve parametreler olmadan işlevini denemeye karar verdim. Kontrolör parametresi geri koydum kalıcı olmadığını bulmak, şimdi yöntemi aradığımda parametre tanımayı reddediyor.
Bu url sözdizimini eylem çağrısı için kullanıyorum:
http://localhost:2316/Inventory/ViewStockNext/11
Yapmam gereken şey bu hata ve bunu düzeltmek için bunu neden yaptığım hakkında bir fikriniz var mı?
O da aynı nedenle başarısız sınıf için bir tamsayı alır başka bir yöntem ekleyerek denedim. Bir dize alır bir eklemeye çalıştım, ve dize null olarak ayarlanır. Parametreleri ve gayet iyi çalışıyor olmadan bir eklemeye çalıştım ama tabii ki benim ihtiyaçlarına uygun değil.
CEVAP
Yönlendirme ihtiyaçlarınız {controller}/{action}/{firstItem}
çizgisinde kurulacak. Eğer global.asax.cs
dosyasında varsayılan {controller}/{action}/{id}
olarak yönlendirme sen gittikten sonra id
geçmek gerekir.
routes.MapRoute(
"Inventory",
"Inventory/{action}/{firstItem}",
new { controller = "Inventory", action = "ListAll", firstItem = "" }
);
... ya da yakın bir şey.
Görünüm olarak boş geçirmeden önlemek ...
jQuery / Ajax - $.() ajax Geri arama P...
Neden varsayılan parametresiz yapıcı p...
Nasıl ASP.NET MVC kısmi bir görünüm pa...
Oluşturma ObjectiveC içinde NSDictiona...