none
ASP.NET MVC Parametre hatası RRS feed

  • Soru

  • Herkese selamlar,

    ASP.NET MVC Katmanlı mimari yardımıyla bir proje geliştiriyorum.

    Buisness Logic Layer katmanımda CRUD işlemleri yaptığım bir Repository classım ve tablolarım için Manager classlarım var.

    Employee tablom için hazırlamış olduğum ekleme sayfasında aldığım hata aşağıdaki gibidir

    "System.ArgumentException: The parameters dictionary contains a null entry for parameter 'gender' of non-nullable type 'System.Boolean' for method 'System.Web.Mvc.ActionResult EmployeeIndex(System.String, System.String, System.String, Boolean, System.DateTime, System.String, Int32)' in 'User_Interface_Layer.Controllers.EmployeesController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
    Parametre adı: parameters"

    İlgili controller;

    public class EmployeesController : Controller
        {
            EmployeeManager empMan = new EmployeeManager();
    
            // GET: Employees
            public ActionResult EmployeeIndex()
            {
                return View();
            }
    
            [HttpPost]
            public ActionResult EmployeeIndex(string name, string surname, string identitynumber, bool gender, DateTime dateofbirth, string address, int positionId)
            {
                empMan.insertEmployee(name, surname, identitynumber, Convert.ToBoolean(gender), Convert.ToDateTime(dateofbirth), address, Convert.ToInt32(positionId));
                return View();
            }
        }

    İnternette araşıtrdım, route configle ilgili cevaplar çıktı ama çok içime sinmedi. Bilgisi olan var mı? Şimdiden ilgilenen herkese çok teşekkür ederim.

    İyi çalışmalar

    4 Kasım 2019 Pazartesi 08:17

Tüm Yanıtlar

  • Selam

    Madem katmanlı mimari o zaman, EmloyeeIndex katmanında neden tek bir model sınıfı kullanarak insert işlemi yapmayı denemediniz ?




    • Düzenleyen Yunus Bulduk 4 Kasım 2019 Pazartesi 10:07 değişiklik
    4 Kasım 2019 Pazartesi 10:06
  • Bir MVC projesinde hiçte gerekli olmayan BLL ve Repository e vakit ve efor harcamışsınız, ancak esas olması gereken Parameter Binding kısmını -kaba tabirle- uydurmuşsunuz. MVC + EF projesi zaten katmanlı mimaridir. M , V , C zaten katmanların ilk harfleridir. Siz buna eskiden kullanılmış olan bir katmanlı mimari yapısını ekleyerek katmerli mimari oluşturmuşsunuz.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    4 Kasım 2019 Pazartesi 11:47
    Moderatör
  • Desteğiniz ve tavsiyeleriniz için teşekkür ederim, farklı yollar deneyeceğim.
    4 Kasım 2019 Pazartesi 13:02
  • Bir MVC projesinde hiçte gerekli olmayan BLL ve Repository e vakit ve efor harcamışsınız, ancak esas olması gereken Parameter Binding kısmını -kaba tabirle- uydurmuşsunuz. MVC + EF projesi zaten katmanlı mimaridir. M , V , C zaten katmanların ilk harfleridir. Siz buna eskiden kullanılmış olan bir katmanlı mimari yapısını ekleyerek katmerli mimari oluşturmuşsunuz.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    Selamlar,

    MVC katmanlı mimari değildir ! Design Pattern dir.

    Soruyu soran arkadaşım, değişkenler de farklı veri tipi giriyorsun veya Route işleminde eksiklik var.

    iyi forumlamalar.

    6 Kasım 2019 Çarşamba 18:53