跳至正文

如何快速创建 ASP.NET 站点(初学者指南)

ASP.NET 是 .NET 技术的一部分,用于编写功能强大的客户端/服务器 Internet 应用程序。它允许您创建动态 HTML 页面。ASP.NET 是旧的 ASP 技术(活动服务器页面)和 .NET Framework 相结合的结果。

它包含许多现成的控件,您可以使用它们快速创建交互式网站。您还可以使用其他网站提供的服务。

此前,ASP.NET技术分为两个领域:Web FormsModel-View-Controller (MVC)现在微软开发人员已经删除了很多重复的功能,留下了单一的ASP.NET Core MVC 编程模型

构建 MVC 应用程序的范例具有三个组件:模型视图控制器

让我们仔细看看它们:

  • 模型是应用程序的一个组件,负责与数据源(数据库、文件系统)交互。
  • 视图——负责显示用户界面的组件。
  • 控制器是一个描述应用程序逻辑的组件,换句话说,就是处理 Web 应用程序的 HTTP 请求的逻辑。控制器与影响视图的模型对象交互。

ASP.NET 页面生命周期

作为这篇 ASP.Net 文章的一部分,我们将了解页面处理的阶段顺序:

  1. 页面请求发生在请求页面时,服务器检查是否是第一次请求。如果是,则创建页面,处理响应并将其发送给用户。如果该页面不是第一次请求,则检查缓存。如果该页面存在于缓存中,则将保存的响应发送给用户。
  2. 启动页面,在这个阶段,Request和Response对象被创建Request 对象用于存储请求页面时发送的信息。Response 对象用于存储发送回用户的信息。
  3. 页面初始化。这是网页上所有控件初始化的地方。
  4. 页面加载。该页面已加载所有默认值。
  5. 验证。在某些情况下,可以为某些表单指定验证。例如,可以请求确认列表项包含一组特定值。
  6. 如果不满足条件,加载页面时应显示错误。
  7. 如果再次加载页面,则会发生事件重新处理。这是为了响应之前的事件而发生的。如果用户单击页面上的提交按钮,则会再次显示相同的页面。然后调用重复事件处理程序。
  8. 页面的呈现发生在响应发送给用户之前。保存有关表单的所有信息,并将结果以完整网页的形式发送给用户。
  9. 卸货页面提交给用户后,不再需要将Web表单对象存储在内存中。因此,卸载过程涉及从内存中删除所有不必要的对象。

项目内部结构

创建后,项目最初已经具有三个默认页面:DefaultAboutContact

每个页面由三个文件组成:

  • Page.aspx– 包含特定页面的 HTML 标记;
  • Page.aspx.cs– 负责特定页面的逻辑;
  • Page.aspx.designer.cs– Page.aspx 和 Page.aspx.cs 之间的桥梁。

文件的代码About.aspx

1
2
3
4
5
6
7
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
CodeBehind="About.aspx.cs" Inherits="TutWebApplication.About" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%: Title %>.</h2>
<h3>Your application description page.</h3>
<p>Use this area to provide additional information.</p>
</asp:Content>

About.aspx仅包含完成页面的一个片段。主要部分位于Site.MasterSite.Mobile.Master文件中。

aspnet 起始页

要测试和运行项目,请按 IIS Express 或传统的F5键。

之后,所有文件都将被编译,并且站点将在默认浏览器中通过http://localhost:5000打开(端口号可能不同)。

如何在 ASP.NET Web 窗体中创建页面

首先,决定将在哪个目录中创建页面。位于一个目录中的所有文件都被视为一个项目。启动您选择的开发环境。

选择“文件”-“新建”-“网站”菜单项。将出现一个对话框。在其中指定项目名称并选择 C# 编程语言。

默认情况下,项目是在文件系统上创建的。您也可以选择在 HTTP 或 FTP 服务器上创建它。您还可以随时通过单击“解决方案资源管理器”按钮将项目从文件系统复制到服务器

要创建其他页面,请右键单击项目名称,然后从上下文菜单中选择添加 -> Web 表单(您可以为 Web 表单取不同的名称,在本例中为名为“News”的新表单):

将创建一个包含以下代码的页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News.aspx.cs" Inherits="WebFormsApp1.News" %>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
  <head runat="server">
    <title>News</title> // Add the title of the page
  </head>
  <body>
    <form id="news" runat="server">
      <div>
        Some information
      </div>
    </form>
  </body>
</html>

我们来看看这个页面。<%@ Page Language = "C #"%><%标记始终用于解释 ASP 代码。Page 指令始终出现在 aspx 页面上。

它的Language属性表明该页面的脚本将使用 C# 编程语言。CodeFile是代码隐藏文件的名称。Inherits是此文件中定义的类,页面类继承自该类。

该页面没有标签,因此不会显示文件<asp:Content>中的模板。Site.Master要更改此设置,您可以从 复制代码About.aspx

如何在页面中插入 HTML 代码

要将字符串和标签一起传递给 HTML 代码,您需要使用的不是通常的string类型,而是HtmlString

1
HtmlString PageContent = new HtmlString("<p>Something!</p>");
如何向菜单添加链接

菜单位于Site.Master

1
2
3
4
5
6
7
<ul class="nav navbar-nav">
  <li><a runat="server" href="~/">Home</a></li>
  <li><a runat="server" href="~/About">About</a></li>
  <li><a runat="server" href="~/Contact">Contact</a></li>
  <li><a runat="server" href="~/News">News</a></li>
  // adding link to menu
</ul>

结论

在本文中,我们介绍了:创建 ASP.NET 站点、创建新页面、在菜单中添加页面链接等。要了解有关 ASP.NET 的更多信息,您可以查看他们的官方文档

标签: