现在的位置: 首页 > 综合 > 正文

名师出高徒,VS 2005 调试心得。个人信息管理页面(部分)

2013年08月01日 ⁄ 综合 ⁄ 共 3511字 ⁄ 字号 评论关闭

                    VS 2005常用调试快捷键

 

        F6: 生成解决方案
        Ctrl+F6: 生成当前项目
        F7: 查看代码
       Shift+F7: 查看窗体设计器
       F5: 启动调试
       Ctrl+F5: 开始执行(不调试)
       Shift+F5: 停止调试
       Ctrl+Shift+F5: 重启调试
       F9: 切换断点
       Ctrl+F9: 启用/停止断点
       Ctrl+Shift+F9: 删除全部断点
       F10: 逐过程
       Ctrl+F10: 运行到光标处
       F11: 逐语句

     今天弟弟教我VS 2005的调试方法了,感觉很神奇。F5,F10,F11很好用,监听程序运行,查看变量值,参数传递,程序逻辑是否有问题。

    

     通过调试,你可以看到自己编写的程序在计算机上是如何运行的。也就是说它的执行轨迹。

     举个例子吧。

     1、假设在某个网页的管理页面,有DropDownList控件,列出一些ID ;persons.xml存储个人信息:ID,Password,name,sex......;一些TextBox用来显示个人信息。

     2、要实现的功能是:在DropDownList下选中一个ID,则在TextBox显示对应的信息。

     3、大概思路:在 DropDownList_SelectedIndexChanged() 事件中获取选中的ID的Text 或value,编写函数Function DisplayInfor(string SelectedID)显示,而该函数载入persons.xml,获取、显示信息。

 

     <?xml version="1.0" encoding="utf-8"?>
<!--这是个人信息管理文档-->
<personinfor>

   <person id="fengyuwuzu" password="ffyyxiaofeng">
     <role>common</role>
     <name>李小枫</name>
     <sex>女</sex>
     <email>fengytongzhou@hotmail.com</email>
     <telphone>13465478921</telphone>
     <address>重庆/南岸</address>
     <ministration>企划部经理</ministration>
      <department>企业策划部</department>
   </person>

 

   <person id="xiaoxiaobaobao" password="wenchuan80">
     <role>common</role>
     <name>Ross</name>
     <sex>男</sex>
     <email>myloveross@hotmail.com</email>
     <telphone>001-12546387</telphone>
     <address>USA/New York</address>
     <ministration>Secretary</ministration>
     <department>Public Relations</department>
     </person>
  </personinfor>//这是persons.xml;

 

protected void DDL_admin_SelectedIndexChanged(object sender, EventArgs e)
    {
            string username= DDL_admin.SelectedItem.Text; //获取DropDownList下拉列表ID.Text
            DisplayInfor(username); //调用显示信息函数
    }
    //个人信息显示函数DisplayinInfor();
    protected void DisplayInfor(string selectedname)
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load("persons.xml"); //加载persons.xml文档
        XmlNode xn = xmldoc.SelectSingleNode("personinfor");//取得根节点
        XmlNodeList xnl = xn.ChildNodes;  //取根节点的所有子节点列表

        //遍历所有子节点
        foreach (XmlNode xnf in xnl)
        {
            XmlElement xe = (XmlElement)xnf;//转换子节点类型
            if (xe.GetAttribute("id") == selectedname)//查找用户的ID所在节点
            {
                XmlNodeList xel = xe.ChildNodes;//获得person的所有子节点
                foreach (XmlNode xef in xel)
                {
                    XmlElement xg = (XmlElement)xef;
                    if (xg.Name == "name")    //查找name节点
                        txtUserName.Text = xg.InnerText;//显示name节点的文本

                    if (xg.Name == "sex")    //查找sex节点
                        txtsex.Text = xg.InnerText;//显示sex节点的文本

                    if (xg.Name == "email")    //查找email节点
                        txtemail.Text = xg.InnerText;//显示email节点的文本
                    //Response.Write(txtemail.Text);
                    if (xg.Name == "telphone")    //查找tlephone节点
                        txtphone.Text = xg.InnerText;//显示telphone节点的文本

                    if (xg.Name == "address")    //查找address节点
                        txtaddress.Text = xg.InnerText;//显示sex节点的文本

                    if (xg.Name == "ministration")    //查找ministration节点
                        txtministration.Text = xg.InnerText;//显示email节点的文本

                    if (xg.Name == "department")    //查找department节点
                        txtdepartment.Text = xg.InnerText;//显示department节点的文本
                }
                break;//找到要显示的用户节点,跳出
            }
            //*****//
        }

    }

 

   你可以在 protected void DisplayInfor(string selectedname)前加个断点,每个foreach中加断点多个,看逻辑是否正确。

    开始的时候我把break加在了//*****//的位置,即最外层判断ID节点的位置,无论怎么改动都得不到想要的功能。后来使用VS F10调试(加了N多断点),发现程序从外层 i f 直接跳到break,才明白是哪里错了。

  

    啰嗦很多,总之逻辑能力欠缺哦。慢慢练,哈哈。

 

 

 

 

抱歉!评论已关闭.