VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > ASP.net 4.0教程 >
  • asp.net教程之错误列表窗口

错误列表窗口

在程序出现问题时,主要有两种方法可以查看该问题。首先是发送到浏览器的页面错误报告,其次是VWD中的Error List窗口。
如果Web.config文件中包含下面阴影部分的代码,那么ASP.NET 2.0将把与页面相关的错误报告发送到浏览器(如图1-12所示)。

图  1-12
<system.web>
<compilation debug="true">
</compilation>
注意,在第一次运行(F5)页面的时候,Web.config中默认的设置是<compilation debug="true" strict="false" explicit="true"/>。
由于默认为true,因此在没有特殊设置的情况下调试开关是打开的。所以下面的示例中debug=true并没有改变默认设置。当然,通过将调试开关设置为true,可以帮助开发小组中其他可能会查看设置的程序员:
<system.web>
<compilation></compilation>
如果页面上存在致命错误,那么运行该页面时浏览器中将显示一个以黄色和白色为主色调的页面。在黄色部分的下面是引发错误的文件名称和该文件中包含错误的行号。所有错误的情况都一样,具体的错误可能只是与该行号相关,但这应该是一个很好的线索。注意,在部署站点的时候,应该将Web.config文件中的debug命令设置为false以提高性能,并减少提供给黑客的信息。第15章将深入讨论错误处理。
识别错误的第二种方法是在VWD内部使用Error List窗口,如图1-13所示。默认情况下,这个窗口只有在运行页面的时候才会显示出来。可以通过菜单View->Error List强行显示该窗口。该窗口显示在将页面转换成MSIL时遇到的所有问题。

图  1-13
注意在Error List窗口的顶部有3个图标:Errors、Warnings和Messages,单击这些图标将显示在编译页面时创建的不同项列表。隐藏某个类型的项并没有把它们从列表中删除;这样做只是使得列表比较短而已。从左边开始的第二列标识错误发生的顺序。
错误(Error)使得整个页面,或者页面的某个部分运行失败。这包括,例如,引用不存在的对象。
警告(Warning)是一些在编译页面时VWD可以解决的问题(例如,缺少结束标记)。
消息(Message)是程序员包含在代码中的文本,当IIS编译页面时这些消息会显示出来。
在查看项列表的时候可以单击某个列的标题进行排序。如果按住Shift键单击另一个列标题,这将使得在第一个列中具有相同值的数据项按照第二列的值再次进行排序。另外,通过拖动列标题之间的分隔线可以调整每列的大小,或者通过左右拖动列名称来重新排序。双击某个数据项可以将光标定位到导致该消息产生的代码行。
在下面的“试一试”部分中,将练习修改History页面上的一个图片控件的属性。接着制造一些错误并观察结果。

(1) 在Design视图中打开History页面。在Solution Explorer中,打开Images文件夹并将名为logo-yellow的jpeg文件拖放到History页面的顶端。VWD将自动创建一个图片,并将该图片的源地址设置为前面的jpeg文件。
(2) 单击该图片从而选中它,然后切换到Properties窗口(或按下F4打开该窗口)。将图片的高度从447修改成100并按下Enter设定该值。您将看到,所作的修改将在设计面板中立刻反映出来。
(3) 现在从Source视图中修改属性。找到<img>控件并找到其中的高度属性。将该属性的值从100修改为300。单击绿色箭头(或按F5)运行页面以查看结果。
(4) 关闭浏览器并返回到Source视图。找到<img>标记并将光标定位在height=“300”的闭引号后面,单击空格键。这将调用IntelliSense工具显示所有在这个位置可以使用的属性列表。按下t键然后按下i键从而使列表移动到Title属性。按下等号(=)关闭IntelliSense工具并输入“Wrox Logo In Yellow”,注意输入的内容包括开引号和闭引号。运行页面,在浏览器中将鼠标移动到图片上时,可以看到刚才创建的标题。关闭浏览器。
(5) 接下来引入一个非致命(non-fatal)错误。在Source视图中打开History页面并找到页面顶部的<h1>标记。将<h1>标记修改成<H1xx>并运行页面。在浏览器中,可以看到“Wrox United-a potted history”文本没能以一号标题的样式显示。关闭浏览器并切换回VWD观察Errors List窗口。如果该窗口不可见,则使用菜单View→Error List显示Error List窗口。可以看到在列表中有两个错误。第一个错误指出不支持第3行的“h1xx”。第二个错误指出第4行的</h1>闭标记没有匹配的开标记。
(6) 最后引入一个致命错误。在Source视图中,滚动到页面顶端并将第一行的Language=“VB”修改成Language=“Esperanto”,然后运行页面。注意前面的等于号两端都没有空格。
(7) 在本书的各个章节中,将练习解决各种各样的错误。目前,只需删除<img>标记、将<h1xx>恢复为正确的<h1>标记并将语言修改回VB即可。
(8) 保存页面。
操作回顾
在此使用了三种修改属性的方法。第一种是在Design视图下工作并在Properties窗口中输入新的属性值。接下来是在源代码中直接手动输入属性值。最后,使用IntelliSense工具为一个已经存在的控件添加属性。
可以观察到两种类型的错误:致命的和非致命的。如果是第一种错误,那ASP.NET 2.0仍然可以显示页面,即使错误的标记<h1xx>使得文本以默认样式而不是一号标题样式显示。虽然页面可以显示,但是返回VWD可以看到Error List窗口记录了两条错误消息。通过将编程语言修改成一种不支持的语言,引入了一个更加严重的错误。ASP.NET 2.0无法克服这个错误,因此看到了两个结果:在浏览器中显示带有错误排查信息的错误页面,在VWD中错误列表显示多条错误。

相关教程