title: Using a strongly typed ActionLink when the action method doesn't take a primitive type
body: <p>Does anyone know how I could go about doing something like :</p>
  
  <p>Html.ActionLink(c => c.SomeAction(new MessageObject { Id = 1 } ))</p>
  
  <p>This should output a link with the url of "/Controller/SomeAction/1", pointing at an ActionMethod along the lines of:</p>
  
  <pre><code>public Controller : Controller
  {
    public ActionResult SomeMethod(MessageObject message)
    {
        // do something with the message
        return View();
    }
  }
  </code></pre>
  
  <p>I've written something similar for generating forms, but that doens't need to include the Id value on the end of the Url.  Basically I want to do some sort of reverse lookup in my routes but I can't find any doco on how I might go about doing that. I have a ModelBinder setup that is able to build a MessageObject from GET and POST parameters, but I'm not sure how I can reverse the process.</p>
  
  <p>Thanks,
  Matt</p>