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

  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • julioissk84life

    julioissk84l

    18 ŞUBAT 2008
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006