演练:在 Visual Web Developer 中使用网站的共享代码

更新:2007 年 11 月

创建网站时,Visual Web Developer 可以让您在类文件中轻松创建共享代码,即使不编译类文件,应用程序中的页也可以使用共享代码。

说明:

如果有现有的程序集(.dll 文件),可以将程序集添加至网站的 Bin 目录,然后网站会自动引用这些程序集。

在此演练中,您将创建一个简单类,然后在 ASP.NET 网页中使用该类。

本演练涉及以下任务:

  • 将类添加至网站。

  • 让 Visual Web Developer 自动引用该组件。

先决条件

为了完成本演练,您需要:

  • Visual Web Developer (Visual Studio)。

  • .NET Framework。

本演练假设您大致了解如何使用 Visual Web Developer。有关介绍,请参见演练:在 Visual Web Developer 中创建基本网页

创建网站和网页

如果您已经在 Visual Web Developer 中创建了网站(例如,通过完成 演练:在 Visual Web Developer 中创建基本网页演练:在 Visual Web Developer 中创建本地 IIS 网站),则可以使用该网站,并转至下一节。否则,按照下面的步骤创建一个新的网站和网页。

创建文件系统网站

  1. 打开 Visual Web Developer。

  2. 在“文件”菜单上单击“新建网站”。(在 Visual Web Developer 速成版中,在“文件”菜单上单击“新建”,然后单击“网站”。)

    出现“新建网站”对话框。

  3. 在“Visual Studio 已安装的模板”之下单击“ASP.NET 网站”。

  4. 在“位置”框中输入要保存网站页面的文件夹的名称。

    例如:

    • 如果是创建文件系统网站,请键入 C:\SampleSite。

    • 如果安装了 IIS 并要创建 HTTP 网站,则键入 https://localhost/SampleSite。

  5. 在“语言”列表中,选择您想使用的编程语言。

  6. 单击“确定”。

    Visual Web Developer 创建该网站和并打开一个名为 Default.aspx 的新页。

创建共享类

可以通过将类保存在名为 App_Code 的文件夹中,来创建可重用的类。Visual Web Developer 会监视 App_Code 文件夹,当添加新的类文件时,会使这些组件可供应用程序中的其余代码使用。默认情况下,App_Code 文件夹中的类在运行时被编译为一个程序集。

说明:

只应该将类(和其他支持的共享类型)放入 App_Code 文件夹中。不要将页、Web 用户控件或包含非代码元素的其他文件放入 App_Code 文件夹中。

创建 App_Code 文件夹

  • 在解决方案资源管理器中,右击网站的名称,单击“添加文件夹”,再单击“App_Code 文件夹”。

    现在可以将组件添加到站点中。

在 App_Code 文件夹中创建共享类

  1. 在解决方案资源管理器中,右击“App_Code”,再单击“添加新项”。

    说明:

    确保在 App_Code 文件夹中创建新项,而不是在网站的根文件夹中创建。

  2. 在“Visual Studio 已安装的模板”之下单击“类”。

  3. 在“名称”框中键入 SampleClass1。

  4. 在“语言”列表中,选择将使用共享类的网页使用的语言。

  5. 单击“添加”。

    Visual Web Developer 在编辑器中打开新的类文件。

  6. 通过将下面的代码复制到类文件中,可创建一个只有一个名为 testString 的属性的类:

    Public Class SampleClass1
        private testStringValue As String
        Public Property testString as String
            Get
                return testStringValue
            End Get
            Set (Value as String)
                testStringValue = value
            End Set
        End Property
    End Class
    
    using System;
    public class SampleClass1
    {
        public SampleClass1() 
        {
        }
        private string testStringValue;
        public string testString 
        {
            get
            {
                  return testStringValue;
            }
            set
            {
                   testStringValue = value;
            }
        }
    }
    
  7. 保存文件并将其关闭。

    注意,该文件不是存储为编译文件。

    说明:

    在 App_Code 文件夹中处理共享类时,不必保存这些组件也可以使 Visual Web Developer 保留对这些组件的引用。如果网页和组件采用相同的编程语言,则 Visual Web Developer 在内存中保留对组件的引用。在此处,您将关闭文件因为已经使用完了该文件。

使用共享类

下一步是在 ASP.NET 网页中使用共享类。可以使用在创建网站时创建的 Default.aspx 页。

使用共享类

  1. 打开 Default.aspx 页或切换到该页,然后切换到“设计”视图。

    说明:

    如果没有 Default.aspx 页,可以使用另一个页。或者,可以向网站添加一个新页。为此,在解决方案资源管理器中,右击网站的名称,单击“添加新项”,再单击“Web 窗体”。在“语言”列表中,输入与用于组件的编程语言相同的编程语言,然后单击“确定”。

  2. 从工具箱中的“标准”文件夹中,将一个 TextBox 控件、Label 控件和 Button 控件拖到页上。

    说明:

    对于此演练,页的布局不太重要。

  3. 双击 Button 控件,为该控件创建一个 Click 处理程序。

    click 处理程序的代码可能类似于如下内容:

    Protected Sub Button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
    
    End Sub
    
    protected void Button1_Click(object sender, EventArgs e)
    {
    
    }
    
  4. 在处理程序中键入下列内容:

    Dim sc As New
    
    SampleClass1 sc = new
    

    在键入 New 或 new 后按空格键时,Visual Web Developer 会显示一个可用类的列表。您在上一节中创建的类 SampleClass1 也包括在该列表中。

  5. 通过键入 SampleClass1 或在列表中双击它来完成语句,该语句将如下所示:

    Dim sc As New SampleClass1
    
    SampleClass1 sc = new SampleClass1();
    
  6. 按 Enter,然后键入下列内容:

    sc.
    

    在您键入句点后,Visual Web Developer 会立即再次显示成员列表,以帮助您从示例类中选择成员。

  7. 按下列方式完成语句和处理程序:

    sc.testString = TextBox1.Text
    Label1.Text = sc.testString
    
    sc.testString = TextBox1.Text;
    Label1.Text = sc.testString;
    
  8. 保存文件。

对页和类进行测试

可以运行网站以检查共享类是否能起作用。

对页和组件进行测试

  1. 打开 Default.aspx 页。

  2. 按 Ctrl+F5 运行该页。

  3. 当页在浏览器中出现时,请在文本框中键入一些文本,然后单击按钮。

    这样做将设置您的简单类中的一个属性,该属性然后显示在 Label 控件中。

如果使用 Microsoft Windows 资源管理器检查网站所在的目录,将会看到页和 App_Code 文件夹。注意,App_Code 文件夹中或网站根目录下的任何地方都没有 .dll 文件或其他可执行代码。相反,Visual Web Developer 已经动态编译了页和共享类。

后续步骤

此演练演示如何在不编译组件的情况下将共享类添加至网站。您可能希望以不同方式使用共享类。例如,您可能希望:

请参见

概念

ASP.NET 网站布局

ASP.NET 网站中的共享代码文件夹