你能给我任何一般的建议如何调试ASP.NET MVC绑定?
当一切工作按预期,ASP.NET MVC是伟大的。但是如果有些东西不行,像某些东西不会因为一些未知的原因而绑定,我发现很难追踪这个问题,并发现自己花费几个小时跟踪一个看似简单的问题。
让我们想象你在一个像这样的控制器方法:
[HttpPost] public ActionResult ShipmentDetails(Order order) { //do stuff }
让我们进一步想象Order类看起来像这样:
public class Order { public decimal Total {get; set;} public Customer Customer {get; set;} } public class Customer { public string Name {get; set;} public string Phone {get; set;} }
当控制器方法中的Order没有正确绑定时,什么是好的地方开始?当只有订单的部分被正确绑定时,什么是好的地方开始?
解决方法
正如Darin建议的,开始检查什么是从客户端发送到服务器使用类似Firebug,Fiddler或其他Web调试代理工具。
否则,您可能希望通过遍历源代码来查看绑定期间发生的情况。
两种方法,我可以推荐这样做
> Include the System.Web.Mvc source code project in your application and reference this.这对学习有好处,但可能不推荐用于商业应用。
>从Microsoft Symbol服务器下载System.Web.Mvc的符号,将您的设置更改为debug framework source code and set a break point appropriately to step through。