SORU
31 AĞUSTOS 2009, PAZARTESİ


ASP.NET MVC: Hayır parametresiz yapıcı bu nesne için tanımlanan

Server Error in '/' Application.
--------------------------------------------------------------------------------

No parameterless constructor defined for this object. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.MissingMethodException: No parameterless constructor defined for this object.

Source Error: 


Line 16:             HttpContext.Current.RewritePath(Request.ApplicationPath, false);
Line 17:             IHttpHandler httpHandler = new MvcHttpHandler();
Line 18:             httpHandler.ProcessRequest(HttpContext.Current);
Line 19:             HttpContext.Current.RewritePath(originalPath, false);
Line 20:         }

Steven Sanderson takip ediyordum 'Pro ASP.NET MVC Framework' kitabı. Sayfasında yazarın önerilerine uygun olarak 132,, ASP.NET MVC Vadeli Meclisi indirilen ve MVC projem için bunu ekledi. [Not: Bu bir aldatmaca olabilir.]

Bundan sonra artık benim proje yük olabilir. Yukarıdaki hata bana soğuk durdu.

Benim sorumdeğil"Benim kodumu düzeltme yardım eder misin?"

Bunun yerine, daha genel olarak bilmek istiyorum:

  • Nasıl bu sorunu gidermek gerekir?
  • Ben arıyorum ne olmalıdır?
  • Kök nedeni ne olabilir?

Şimdi benden daha derin bir düzeyde Yönlendirme ve denetleyicileri anlamak gerekir gibi görünüyor.

CEVAP
1 EYLÜL 2010, ÇARŞAMBA


Ben sadece benzer bir sorunu vardı. Aynı durum Model hayır parametresiz yapıcı oluşur.

Arama yöntemi bir model, yeni bir örneğini oluşturmak için sorumlu olduğunu düşünerek yığını.

Sistem.Web.Mvc.DefaultModelBinder.CreateModel(ControllerContext, ModelBindingContext bindingContext Yazın modelType) ControllerContext


İşte bir örnek:

public class MyController : Controller
{
    public ActionResult Action(MyModel model)
    {

    }
}

public class MyModel
{
    public MyModel(IHelper helper) // MVC cannot call that
    {
        // ...
    }

    public MyModel() // MVC can call that
    {
    }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008