cannot call method because parameter is passed by reference exception on updating mvc
<p>Recently I have updated MVC to 5.1. I am getting exception</p>

<blockquote>
  <p>Cannot call action method 'Void MyAd(Inspinia_MVC5_SeedProject.Models.Ad ByRef, System.String, System.String, System.String)' on controller 'Inspinia_MVC5_SeedProject.CodeTemplates.ElectronicsController' because the parameter 'Inspinia_MVC5_SeedProject.Models.Ad&amp; ad' is passed by reference.</p>
</blockquote>

<p>on <code>routes.MapMvcAttributeRoutes();</code></p>

<p><code>MyAd</code> function is:</p>

<pre><code>public void MyAd(ref Ad ad,string SaveOrUpdate,string cateogry = null,string subcategory = null)
        {
            var type = System.Web.HttpContext.Current.Request["type"];
            var isbiding = System.Web.HttpContext.Current.Request["bidingAllowed"];
            var condition = System.Web.HttpContext.Current.Request["condition"];
            var pp = System.Web.HttpContext.Current.Request["price"];
            //other huge stuff.
        }
</code></pre>

<p>I am using this function in different controllers. </p>

<p>I call the function to save data in <code>ad</code> object</p>

<pre><code>MyAd(ref ad,"Save","Electronics","HomeAppliances");
</code></pre>

<p>and then I use data as <code>ad.type</code>. </p>

<p>How can I tackle this exception?</p>