2013-12-09 38 views
0

我有一些像这样的代码:如何调试被JqGrid调用的c#代码?

@{ 
ViewBag.Title = "Home"; 

var grid = new JqGridHelper<Project>("projects", 
dataType: JqGridDataTypes.Json, 
methodType: JqGridMethodTypes.Post, 
pager: true, 
rowsNumber: 10, 
sortingName: "Id", 
sortingOrder: JqGridSortingOrders.Asc, 
subgridEnabled: true, 
url: Url.Action("ProjectsByUser"), <---- Here 
etc... 

按照我的理解,网址:URL.Action(“FunctionName”)将调用,在我的名为“FunctionName”项目某处的功能。我想要做的就是在函数运行时查看函数中的变量,但在VS中放置一个断点不起作用。那么,我将如何执行donspect,但调试器只显示正在执行的脚本的代码,而不是那个?我已经尝试过使用Chrome调试,在我想用C#代码编写代码之前设置断点。

回答

0

我不知道为什么放置断点不起作用(假设您开始在调试器中运行项目,并且断点位于正确的位置)。

您可以将下面的代码添加到要调试的方法:

#if DEBUG 
System.Diagnostics.Debugger.Break(); 
#endif 

这将迫使调试中断,并提示附加一个调试器,如果没有当前连接。

记住在完成故障排除后删除代码。虽然#if DEBUG将阻止该代码成为发行版本的一部分,但您不希望冒险意外传送包含该中断指令的DEBUG内部版本。

+0

我试过了,什么都没有发生。我可以在上面显示的代码行放置一个断点,但是因为url.action行只是为JqGridHelper函数设置了一个选项,所以没有什么可以介入的。我不知道如何调用C#代码,但断点或您提到的方法似乎不被识别。 c#代码是否被调用? –

+0

查看HTML源代码,并确切查看Url.Action生成的URL。 –

+0

我想是这样的:url:'/ home/ProjectsByUser'。 home是包含上面代码的页面,ProjectsByUser是我想调用的函数。 –