2009-10-14 129 views
3

大约每20页加载一次,我的View就会出现一个小故障。我想知道我的Controller中包含的变量在调用View之前有什么值。但是,一旦View被调用,我将失去Controller的所有局部变量。有没有希望?如何在将控件传递给视图后调试ASP.NET MVC控制器?

+0

你使用键入的视图吗? – 2009-10-16 12:06:59

回答

3

mvc.contrib中使用ModelVisualizer Helper它将所有值呈现在视图中。

+0

这看起来非常有用。尽管如此,我还是无法完成它的工作。我已经把它作为一个HTML Helper来使用,但是在渲染ModelVisualizer时,我只是看到“ViewData中没有数据”。但是,我知道我的模型不是空的。有什么想法吗? – royco 2009-10-14 21:03:16

+0

嗯,也许它不适合我,因为我在MVC 2预览2. – royco 2009-10-14 21:37:31

+0

哦,我没有检查与MVC 2 ... :-( 我会发布错误修正,如果它是真的不工作在MVC 2 – 2009-10-14 22:42:26

1

您可以在您的视图页面上添加额外的输出,以显示调试信息的变量值/状态,直到您解决问题。

1

道歉,如果我失去了一些明显的东西,但不能在Controller中设置一个条件断点,或者在View调用中?条件可以基于执行计数。一旦停止,您可以进入视图。

我意识到你失去了控制器本地变量,因为它们超出了范围,只要你进入视图,但不能很难写下来,追加到一个大字符串(即Flash消息)和输出在视图等

+0

是的,但我有很多变量,目前不知道问题出在哪里。我希望有一个更直接的方法做这个,就像设置追溯断点的能力一样 – royco 2009-10-15 01:58:40

2

观察窗口的"Make Object ID" feature会让你看变量超出范围。

+0

这看起来很有前途,但我并不完全掌握它,我看到布鲁诺正在讨论的菜单,但是我没有Make Object ID选项列出的,我将不得不更多地阅读它。 – royco 2009-10-15 23:29:28

相关问题