ASP.NET MVC: avoid tight coupling when binding form POST to parameter
问题 Let's say I have an interface like: interface IThing { int Id { get; set; } string Title { get; set; } } And in ASP.NET MVC I have a form that posts to a controller action like this: [AcceptVerbs(HttpVerbs.Post)] public ActionResult NewThing([Bind(Exclude = "Id")] SimpleThing thing) { // code to validate and persist the thing can go here } Where SimpleThing is a concrete class that just barely implements IThing . However, I would like all my methods to deal with the interface. I have a data