没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第 2 章 服务器控件开发中的调试技术
本章内容
2.1 预置代码示例
2.2 调试页面服务端代码
2.3 服务器控件的调试
2.4 JavaScript 脚本调试方法
2.5 Ajax Library 对 JavaScript 调试支持
2.1 预置代码示例
熟悉 A SP
.
NET 开发的读者朋友可能对于服务器控件的调试技术更容易上手,不过如果 您
刚刚接触 A SP
.
NET 也没关系,本章会从最基本的调试开始讲解。
在调试之前,要先建立一个调试控件的项目环境。关于如何建立环境在这里就不讲了,
第 1 章已经讲得非常详细了。
首先在 Web 控件项目工程中添加一个主控件代码文件 DebugControl.cs ,下面是本章示 例
代码控件主文件 DebugControl.cs 的代码:
[ToolboxData("<{0}:DebugControl runat=server></{0}:DebugControl>")]
/// <summary>
/// 获得本书更多内容 , 请看 :
/// http://blog.csdn.net/ChengKing/archive/2008/08/18/2792440.aspx
/// </summary>
public class DebugControl : WebControl
{
Button btnDebugScript = new Button();
protected override void CreateChildControls()
{
this.Controls.Add(btnDebugScript);
base.CreateChildControls();
}
protected override void Render(HtmlTextWriter writer)
{
btnDebugScript.Text = " 调试客户端脚本 ";
btnDebugScript.OnClientClick = "ClientClickEvent();";
btnDebugScript.RenderControl(writer);
}
}
代码很简单,主要是生成一个按钮,并为按钮注册一个客户端单击事件 ClientClickEvent
。
CreateChildControls 和 Render 都是自定义控件生命周期阶段依次执行的一些方法,在第 1 章
讲解控件生命周期时已经介绍过,在下一章还会更详细地讲解它们。本章主要关注控件调试
第 2 章 服务器控件开发中的调试技术
19
技术部分。
另外, 在站点的页面文件 DebugControl.aspx 的 <head></head> 标记中加入控件客户端事 件
执行的方法的实现代码:
<head runat="server">
<script language="javascript">
function ClientClickEvent()
{
alert(' 我被单击了一下 !');
}
</script>
</head>
客户端 ClientClickEvent 方法体就一句话,弹出一个提示。在浏览器中查看
DebugControl.aspx 页面。并单击页面中的按钮,运行效果会如图 2-1 所示。
图 2-1 控件运行图
这个示例代码非常简单,但已经能够展示所有控件开发调试的内容了。到现在为止已经
完成了第一步,下面开始一一介绍控件开发相关的调试内容。
2.2 调试页面服务端代码
在讲解如何调试服务器控件之前,首先讲解一下最基本的页面服务端代码调试方法。在
DebugControl.aspx.cs 页面后台代码的 Page_Load 事件中加一行代码,添加后 Page_Load 事件
代码如下所示:
/// <summary>
/// 获得本书更多内容 , 请看 :
/// http://blog.csdn.net/ChengKing/archive/2008/08/18/2792440.aspx
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(" 学习服务器控件调试技术 ");
}
将光标移到 Response.Write() 方法所在的行,按 F9 键设置断点,设好断点后的效果如 图
2-2 所示。
图 2-2 设置断点后的效果
如果要取消当前断点,可以再按一次 F9 键。按 Shift + F9 组合键将取消所有设置的断点
。
把 DebugControl.aspx 设为起始页,并把 DebugControl.aspx 所在的站点设为启动项目。 按
F5 键启动项目,页面运行后会自动在设置的断点处中断,图 2-3 所示为运行到断点,程序自
动中断的效果。
庖丁解牛 —— 纵向切入 ASP.NET 3.5 控件和组件开发技术
20
图 2-3 运行到断点自动中断
当运行中的程序中断后,就可以在此查看当前应用程序各个对象的状态。
第 2 章 服务器控件开发中的调试技术
21
2.3 服务器控件的调试
2.3.1 运行模式下的调试方法
在运行模式下的调试方法与在普通页面中调试类似,直接在控件代码中按 F9 设置断点
即可。在控件 Render 方法中设置断点后,界面如图 2-4 所示。
图 2-4 控件中设置断点
按 F5 键运行程序,程序运行到此会自动中断。
2.3.2 设计模式下的调试方法
运行模式是指控件在浏览器中运行呈现的效果时需要运行的代码。设计模式是指控件在
页面设计器中呈现时运行的代码。在资源管理器中右击一个 *.aspx 页面文件,选择 “ 查看设
计器 ” 命令,即可进入到控件的设计模式。
设计一个好的控件不能仅考虑其在运行模式下具有漂亮的展现外观和较强的功能,也应
该注重其在设计模式下的效果。
设计模式主要是为控件使用者设计的(不是浏览站点的最终用户) ,此模式能够让控件 使
用者在设计器中就能够看到控件的展现效果,更便捷地配置控件的属性和行为。设计模式与
运行模式一样,在呈现控件时都是在当前环境下生成控件实例呈现的。当然,它们还是有区
别的,设计模式较运行模式除了在控件生命周期阶段有些事件不执行外,也不能够访问一些
在仅运行模式下才具有的上下文环境变量等。
A SP
.
NET 为设计模式增加了很多功能,关于设计模式编程后面会有更详细的示例进行 讲
解,这里仅了解概念即可。
既然在设计模式下编程是非常有必要的,那么我们也要学会在设计模式下对控件进行调
试。下面就讲对几种控件在设计模式下的调试方法。
方法一
打开要进行调试的自定义控件项目,右击 项目 名称,选择 “ 属性 ” 打开属性页。
选择左边的 “ 调试 ” 选项卡,再选择 “ 启动外部程序 ” 条目下的 “ 启动外部程序
” ,
并设置路径为 devenv.ex e 的全路径(安装路径 \Visual Studio 8\Common7\IDE\devenv.exe
) ,设
置好后如图 2-5 所示。
右击自定义控件项目,选择 “ 设为启动项目
”
。这样运行时就不会启动站点下面的 页
面,而启动本项目。
在自定义控件中设置好断点,参考图 2-4 。
按 F5 键运行,启动项目,则会打开一个新的 IDE 环境( 设置的效果) 。
在新的 IDE 中打开上面建立的站点,找到 DebugControl.aspx 页面,选择右键菜单 中
的 “ 查看设计器 ” 命令,则控件会呈现在设计模式下,并在设置的断点处中断。在设计器中
修改控件的任意属性值也会使运行中的程序在断点处中断。
庖丁解牛 —— 纵向切入 ASP.NET 3.5 控件和组件开发技术
22
图 2-5 设置启动外部程序
方法二
用一个 IDE 打开要进行调试的控件项目(命名这个 IDE 为 IDE_1 ) ,用另一个 IDE
打开站点工程(命名这个 IDE 为 IDE_2 ) ,或者用两个 IDE 把分别把两个解决方案打开。
在 IDE_1 中,依次选择 “ 调试 ” → “ 附加到进程 ” 命令,如图 2-6 所示。
执行 中的命令后,会弹出 “ 附加到进程 ” 对话框,在最下面 “ 可用进程 ” 列表 中
选中进程 devenv.ex e
,
devenv.ex e 是运行环境 IDE_2 程序标志的进程。单击 “ 附加
”
按钮, 如
图 2-7 所示。
图 2-6 “ 附加到进程 ” 命令菜单 图 2-7 “ 附加到进程 ” 对话框
在 IDE_1 打开的控件工程中找到主控件文件,设置好断点,如图 2-4 所示。
在 IDE_2 中找到站点中的 DebugControl.aspx ,选择右键菜单中的 “ 查看设计器 ” 命
令,并在设计器中修改控件的属性。程序在遇到断点时则会中断。
以上两种调试控件的方法,原理相似,只是操作方式有些不同。根据自己的使用习惯选
择一种即可。
剩余250页未读,继续阅读
资源评论
- jsjavajs2013-07-09资源不全 全书共有17章 而他上传的只有2-6章的内容
- haoxianwang2013-01-13帮别人下载的学习资料
kbcsy
- 粉丝: 5
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 面向初学者的 Java 教程(包含 500 个代码示例).zip
- 阿里云OSS Java版SDK.zip
- 阿里云api网关请求签名示例(java实现).zip
- 通过示例学习 Android 的 RxJava.zip
- 通过多线程编程在 Java 中发现并发模式和特性 线程、锁、原子等等 .zip
- 通过在终端中进行探索来学习 JavaScript .zip
- 通过不仅针对初学者而且针对 JavaScript 爱好者(无论他们的专业水平如何)设计的编码挑战,自然而自信地拥抱 JavaScript .zip
- 适用于 Kotlin 和 Java 的现代 JSON 库 .zip
- AppPay-安卓开发资源
- yolo5实战-yolo资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功