在 Visual Studio 2013 中编辑 ASP.NET Web 窗体的代码

作者 :Erik Reitan

在许多 ASP.NET Web 窗体页中,你使用 Visual Basic、C# 或其他语言编写代码。 Visual Studio 中的代码编辑器可帮助你快速编写代码,同时帮助避免错误。 此外,编辑器还提供了创建可重用代码的方法,以帮助减少需要完成的工作量。

本演练演示 Visual Studio 代码编辑器的各种功能。

在本演练中,你将学会如何执行以下任务:

  • 更正内联编码错误。
  • 重构和重命名代码。
  • 重命名变量和对象。
  • 插入代码片段。

先决条件

若要完成本演练,你将需要:

创建 Web 应用程序项目和页面

在本演练的这一部分中,你将创建一个 Web 应用程序项目,并向其添加新页面。

创建 Web 应用程序项目

  1. 打开 Microsoft Visual Studio。

  2. 在“文件”菜单中,选择“新建项目”。
    “文件”菜单

    此时将出现“新建项目” 对话框。

  3. 选择左侧的 “模板 ->Visual C# ->Web 模板”组。

  4. 在中心列中选择 ASP.NET Web 应用程序 模板。

  5. 将项目命名为 BasicWebApp ,然后单击“ 确定” 按钮。
    “新建项目”对话框

  6. 接下来,选择Web Forms模板,然后单击“确定”按钮创建项目。
    “新建 ASP.NET 项目”对话框

    Visual Studio 创建一个新项目,其中包含基于 Web Forms 模板的预生成功能。

创建新的 ASP.NET Web Forms页

使用 ASP.NET Web 应用程序项目模板创建新的Web Forms应用程序时,Visual Studio 将添加一个名为 Default.aspx 的 (Web Forms页) 一个 ASP.NET 页,以及几个其他文件和文件夹。 可以使用 Default.aspx 页作为 Web 应用程序的主页。 但是,在本演练中,你将创建并使用新页面。

向 Web 应用程序添加页面

  1. 解决方案资源管理器中,右键单击 Web 应用程序名称 (在本教程中,应用程序名称为 BasicWebSite) ,然后单击“添加 ->新建项”。
    随即出现“添加新项”对话框。
  2. 选择左侧的 “Visual C# ->Web 模板”组。 然后,从中间列表中选择“ Web 窗体 ”并将其命名为 FirstWebPage.aspx
    “添加新项”对话框
  3. 单击“添加”,将Web Forms页添加到项目。
    Visual Studio 将创建新页面并将其打开。
  4. 接下来,将此新页面设置为默认启动页。 在解决方案资源管理器中,右键单击名为 FirstWebPage.aspx 的新页面,然后选择“设为起始页”。 下次运行此应用程序以测试进度时,会自动在浏览器中看到此新页面。

更正内联编码错误

Visual Studio 中的代码编辑器可帮助避免编写代码时出错,如果出错,代码编辑器可帮助更正错误。 在本演练的这一部分中,你将编写一行代码,说明编辑器中的纠错功能。

更正 Visual Studio 中的简单编码错误

  1. “设计 ”视图中,双击空白页,为页面的 Load 事件创建处理程序。
    仅将 事件处理程序用作编写某些代码的位置。

  2. 在处理程序中,键入包含错误的以下行,然后按 Enter

    string myStr = "Loading..."
    

    Enter 时,代码编辑器会放置绿色和红色下划线, (通常称为“波浪线”,) 代码区域下出现问题。 绿色下划线表示警告。 红色下划线表示必须修复的错误。

    将鼠标指针悬停在上方 myStr 以查看告知警告的工具提示。 此外,将鼠标指针悬停在红色下划线上方以查看错误消息。

    下图显示了带下划线的代码。

    设计视图中的欢迎文本
    必须通过在行的末尾添加分号 ; 来修复此错误。 该警告只是通知你尚未使用变量 myStr

    注意

    可以通过选择“工具”-“选项”->>“字体和颜色”,在 Visual Studio 中查看当前的代码格式设置。

重构和重命名

重构是一种软件方法,涉及重构代码,使其更易于理解和维护,同时保留其功能。 一个简单的示例可能是在事件处理程序中编写代码以从数据库获取数据。 开发页面时,发现需要从多个不同的处理程序访问数据。 因此,可以通过在页面中创建数据访问方法并在处理程序中插入对 方法的调用来重构页面的代码。

代码编辑器包含可帮助你执行各种重构任务的工具。 在本演练中,你将使用两种重构技术:重命名变量和提取方法。 其他重构选项包括封装字段、将局部变量提升为方法参数和管理方法参数。 这些重构选项的可用性取决于代码中的位置。

重构代码

常见的重构方案是创建 (从另一个成员(如方法)内的代码中提取) 方法。 这会减小原始成员的大小,并使提取的代码可重复使用。

在本演练的这一部分中,你将编写一些简单的代码,然后从中提取方法。 C# 支持重构,因此你将创建一个使用 C# 作为编程语言的页面。

在 C# 页中提取方法

  1. 切换到 “设计” 视图。

  2. “工具箱”中的“ 标准 ”选项卡中,将 按钮 控件拖到页面上。

  3. 双击 Button 控件为其 Click 事件创建处理程序,然后添加以下突出显示的代码:

    protected void Button1_Click(object sender, EventArgs e)
    {
    
        System.Collections.ArrayList alist = 
            new System.Collections.ArrayList();
        int i;
        string arrayValue;
        for(i=0; i<5; i++)
        {
            arrayValue = "i = " + i.ToString();
            alist.Add(arrayValue);
        }
        for(i=0; i<alist.Count; i++)
        {
            Response.Write("<br />" + alist[i]);
        };
    }
    

    该代码创建一个 ArrayList 对象,使用循环加载其值,然后使用另一个循环显示 ArrayList 对象的内容。

  4. Ctrl+F5 运行页面,然后单击 按钮 以确保看到以下输出:

    i = 0
    i = 1
    i = 2
    i = 3
    i = 4
    
  5. 返回到代码编辑器,然后在事件处理程序中选择以下行。

    for(i=0; i<alist.Count; i++) 
    {
          Response.Write("<br />" + alist[i]);
    }
    
  6. 右键单击所选内容,单击“ 重构”,然后选择“ 提取方法”。

    此时将显示“ 提取方法 ”对话框。

  7. 在“ 新建方法名称 ”框中,键入 DisplayArray,然后单击“ 确定”。

    代码编辑器创建一个名为 DisplayArray的新方法,并将对新方法的调用置于最初循环所在的 Click 处理程序中。

    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Collections.ArrayList alist = 
            new System.Collections.ArrayList();
        int i;
        string arrayValue;
        for(i=0; i<5; i++)
        {
            arrayValue = "i = " + i.ToString();
            alist.Add(arrayValue);
        }
        i = DisplayArray(alist, i);
    }
    
  8. Ctrl+F5 再次运行页面,然后单击 按钮

    页面的功能与之前相同。 DisplayArray现在可以从页面类中的任意位置调用 方法。

重命名变量

使用变量和对象时,可能需要在代码中引用变量和对象后重命名它们。 但是,如果错过重命名其中一个引用,重命名变量和对象可能会导致代码中断。 因此,可以使用重构来执行重命名。

使用重构重命名变量

  1. Click 事件处理程序中,找到以下行:

    System.Collections.ArrayList alist = 
        new System.Collections.ArrayList;
    
  2. 右键单击变量名称 alist,选择“ 重构”,然后选择“ 重命名”。

    此时将显示“ 重命名 ”对话框。

  3. 在“ 新建名称 ”框中,键入 “ArrayList1 ”,并确保已选中 “预览引用更改 ”复选框。 然后单击“确定”。

    此时将显示“ 预览更改 ”对话框,并显示一个树,其中包含对要重命名的变量的所有引用。

  4. 单击“ 应用 ”关闭“ 预览更改 ”对话框。

    将重命名专门引用所选实例的变量。 但请注意,以下行中的变量 alist 未重命名。

    private int DisplayArray(System.Collections.ArrayList alist, 
        int i)
    

    此行中的变量 alist 未重命名,因为它不表示与重命名的变量 alist 相同的值。 声明中的DisplayArray变量alist是该方法的局部变量。 这说明使用重构重命名变量与在编辑器中执行查找和替换操作不同;重构可重命名变量,了解其正在使用的变量的语义。

插入代码段

由于许多编码任务Web Forms开发人员经常需要执行,因此代码编辑器提供了代码片段库或预写代码块。 可以将这些代码片段插入页面。

在 Visual Studio 中使用的每种语言在插入代码片段的方式上略有不同。 有关插入代码段的信息,请参阅 Visual Basic IntelliSense 代码片段。 有关在 Visual C# 中插入代码段的信息,请参阅 Visual C# 代码片段

后续步骤

本演练演示了 Visual Studio 2010 代码编辑器的基本功能,用于更正代码中的错误、重构代码、重命名变量以及将代码片段插入代码片段。 编辑器中的其他功能可使应用程序开发快速而轻松。 例如,您可能希望:

  • 详细了解 IntelliSense 的功能,例如修改 IntelliSense 选项、管理代码片段和联机搜索代码片段。 有关详细信息,请参阅使用 IntelliSense
  • 了解如何创建自己的代码片段。 有关详细信息,请参阅 创建和使用 IntelliSense 代码片段
  • 详细了解 IntelliSense 代码片段的特定于 Visual Basic 的功能,例如自定义代码段和故障排除。 有关详细信息,请参阅 Visual Basic IntelliSense 代码片段
  • 详细了解 IntelliSense 的 C# 特定功能,例如重构和代码片段。 有关详细信息,请参阅 Visual C# IntelliSense