title: No parameterless constructor defined for this object in mvc
body: <p>When I use SelectList in View then i get error "No parameterless constructor defined for this object", I saw many solutions but unable to find that work for me. This is view code:</p>
  
  <pre><code>@using (Html.BeginForm("Product", "Products", FormMethod.Post, new { @class = "form-horizontal" }))
  {
     @Html.ValidationSummary()
  
     &lt;div class="form-group"&gt;
         &lt;label class="control-label col-md-3" for="SelectProduct"&gt;Select Product&lt;/label&gt;
         &lt;div class="col-md-4"&gt;
             @Html.DropDownListFor(p =&gt; p.SelectProduct, new SelectList(new[] 
             {
               new { Value = "New", Text = "New Entry" },
               new { Value = "Existing", Text = "Existing Entry" },
             }, "Value", "Text"), 
             new { @class = "form-control" })
         &lt;/div&gt;
     &lt;/div&gt; 
     &lt;div class="form-group"&gt;
         &lt;label class="control-label col-md-3" for="productName"&gt;Product Name&lt;/label&gt;
         &lt;div class="col-md-8"&gt;
            @Html.TextBoxFor(u =&gt; u.ProductName, new { @class = "form-control", @id = "productName" })
         &lt;/div&gt;
     &lt;/div&gt;   
  }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>[HttpPost]
  public ActionResult Product(ProductDto model)
  {
      //code here
  }
  </code></pre>
  
  <p>Model:</p>
  
  <pre><code>public class ProductDto
  {
      public ProductDto()
      {
      }
      /// &lt;summary&gt;
      /// Gets or sets whether its New or existing product
      /// &lt;/summary&gt;
      public SelectList SelectProduct { get; set; }
  
  
      /// &lt;summary&gt;
      /// Gets or sets product name.
      /// &lt;/summary&gt;
      public string ProductName { get; set; }
  
  }
  </code></pre>
  
  <p>Stack Trace:</p>
  
  <pre><code>[MissingMethodException: No parameterless constructor defined for this  object.]
         System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&amp; canBeCached, RuntimeMethodHandleInternal&amp; ctor, Boolean&amp; bNeedSecurityCheck) +0
        System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark&amp; stackMark) +119
        System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark&amp; stackMark) +232
       System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
       System.Activator.CreateInstance(Type type) +11
       System.Web.Mvc.DefaultModelBinder.CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType) +183
      System.Web.Mvc.DefaultModelBinder.BindSimpleModel(ControllerContext controllerContext, ModelBindingContext bindingContext, ValueProviderResult valueProviderResult) +329
       System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +368
       System.Web.Mvc.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) +17
        System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) +384
        System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext) +88
                    System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +53
           System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +1314
          System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +416
        System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +317
           System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
         System.Web.Mvc.Async.&lt;&gt;c__DisplayClass25.&lt;BeginInvokeAction&gt;b__1e(AsyncCallback asyncCallback, Object asyncState) +446
         System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
         System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
      System.Web.Mvc.&lt;&gt;c__DisplayClass1d.&lt;BeginExecuteCore&gt;b__17(AsyncCallback asyncCallback, Object asyncState) +30
        System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
    System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +381
         System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
        System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
          System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +17
         System.Web.Mvc.&lt;&gt;c__DisplayClass8.&lt;BeginProcessRequest&gt;b__2(AsyncCallback asyncCallback, Object asyncState) +71
     System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
  </code></pre>
  
  <p>Thanks</p>