你能给我一些关于如何调试ASP.NET MVC Binding的一般建议吗?
当一切按预期工作时,ASP.NET MVC非常棒.但是,如果某些事情没有,就像某些事情因某些未知原因而无法结合,我发现很难追查问题并发现自己花费数小时追踪一个看似简单的问题.
让我们假设您使用如下控制器方法:
[HttpPost]
public ActionResult ShipmentDetails(Order order)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
让我们进一步想象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;}
}
Run Code Online (Sandbox Code Playgroud)
Order在控制器方法中没有正确绑定时,有什么好的起点?只有部分Order正确绑定时,有什么好的开始?
Kal*_*son 26
尽管@ russ的答案很有用并且有时是必要的,但是当主要问题更多的是关于大局时,两个选项似乎都有点低.因此,我推荐Glimpse.
从它的关于页面:
... Glimpse允许您直接在浏览器中调试您的网站或Web服务.Glimpse允许您"瞥见"Web服务器中正在发生的事情.换句话说,Firebug是调试客户端代码的,Glimpse是在客户端内调试服务器.
既然您已经专门询问了数据绑定,那么您将需要查看绑定选项卡文档.您将能够再次从文档中看到:
请参阅快速入门.简述:
http://yourhost/yourapp/Glimpse.axd并"打开它".Rus*_*Cam 21
正如Darin所建议的那样,首先使用Firebug,Fiddler或其他Web调试代理工具检查从客户端发送到服务器的内容.
如果做不到这一点,您可能需要单步执行源代码以查看绑定期间发生的情况.
我建议这样做的两种方法是
在您的应用程序中包含System.Web.Mvc源代码项目并引用它.这有利于学习,但可能不建议用于商业应用.
从Microsoft Symbol服务器下载System.Web.Mvc的符号,更改您的设置以便能够调试框架源代码并适当地设置断点以逐步执行.
| 归档时间: |
|
| 查看次数: |
19957 次 |
| 最近记录: |