SORU
1 EKİM 2008, ÇARŞAMBA


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
1 EKİM 2008, ÇARŞAMBA


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • Khan Academy

    Khan Academy

    17 Kasım 2006