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

  • AverageBroTV

    AverageBroTV

    20 Mart 2013
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009