patladığında denetleyicide boş parametre değeri ilk olarak kapalı, MVC'ye yeniyim, bu yüzden lütfen temel olup olmadığını sorunuz.Bir MVC güzergahı
Aşağıdaki URL'yi (http: // mysite/subscriber/12345) oluşturmak için özel bir yol kullanıyorum, burada 12345 abone numarasıdır. ShowAll eylemini Abone denetleyicide çalıştırmak istiyorum. Güzergahım, yukarıdaki url'yi geçtiğimde Phil's route debugger kullanıyor ve kullanıyor, yol hata ayıklayıcısı kimliği 12345 olarak gösteriyor.
Denetleyicim, int bir abone kimliği kabul ediyor. Ne zaman ateş ederse, denetleyici hatasını atar "Parametreler sözlüğü, null olmayan" System.Int32 "" id "parametresi için boş bir giriş içerir. Rota hata ayıklayıcısı neden bir değer gösterir ve denetleyici bunu görmüyor?
İşte
routes.MapRoute(
"SubscriberAll",
"subscriber/{id}",
new { controller = "Subscriber", action = "ShowAll", id=0 },
new { id = @"\d+" } //confirm numeric
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
ben ShowAll eylem bir null alıyorum neden herhangi bir fikir (ilki suçlu) benim rota mı?
public ActionResult ShowAll(int id)
Eğer eylem yöntemi imzası ile allong tüm rota kayıtlarını gönderebilir miyim? –
Evet. Soru güncellendi. –
Sanırım sorun senin kısıtınla. Ben bir regex ninja değilim, o yüzden sana yardım edemem. –