ASP.NET 网页 (Razor) 常见问题解答

作者 Tom FitzMacken

注意

不再建议将 WebMatrix 用作 ASP.NET 网页的集成开发环境。 使用 Visual StudioVisual Studio Code

本文列出了有关 ASP.NET 网页 (Razor) 和 WebMatrix 的一些常见问题。

本教程中使用的软件版本

  • ASP.NET 网页 (Razor) 3
  • Visual Studio 2013
  • WebMatrix 3

有关错误和其他问题的问题,请参阅 ASP.NET 网页 (Razor) 故障排除指南

ASP.NET 网页、ASP.NET Web Forms和 ASP.NET MVC 之间有何区别?

这三种技术都是用于创建动态 Web 应用程序的 ASP.NET 技术:

  • ASP.NET 网页侧重于向 HTML 页面添加动态 (服务器端) 代码和数据库访问,并具有简单和轻量级语法。
  • ASP.NET Web Forms基于页面对象模型和传统窗口类型控件 (按钮、列表等 ) 。 Web Forms使用基于事件的模型,该模型对于使用基于客户端的 (Windows 窗体) 开发的人来说是熟悉的。
  • ASP.NET MVC 为 ASP.NET 实现模型-视图-控制器模式。 重点在于“关注点分离” (处理层、数据和 UI 层) 。

所有三个框架都完全受支持,并将继续由 ASP.NET 团队开发。 通常,选择使用哪个框架取决于你的背景和 ASP.NET 经验。

特别是 ASP.NET 网页旨在使已经了解 HTML 的用户能够轻松地向其页面添加服务器处理。 对于学生、业余爱好者和一般不熟悉编程的人来说,这是一个不错的选择。 对于具有 non-ASP.NET Web 技术经验的开发人员来说,这也是一个不错的选择。

是否需要 WebMatrix 才能使用网页?

错误。 不再建议将 WebMatrix 用作 ASP.NET 网页的集成开发环境。 使用 Visual StudioVisual Studio Code

如果不想使用 Visual Studio 或 Visual Studio Code,可以使用 Microsoft Web 平台安装程序 单独安装组件产品。 需要以下产品:

  • Microsoft .NET Framework 4.5
  • ASP.NET 安装 ASP.NET 网页 框架的 MVC 5 ()
  • IIS Express (Web 服务器)
  • Microsoft SQL Server Compact 4.0 (数据库)

可以使用文本编辑器编辑 .cshtml (或 .vbhtml) 页。

在没有工具的情况下) (.sdf 文件管理SQL Server Compact数据库有点困难。 Visual Studio 包含用于管理 .sdf 数据库的工具。 还可以在代码中运行 SQL 命令来执行许多SQL Server管理任务。

若要在不使用集成开发环境 (IDE) 的情况下测试 .cshtml 页面,可以将它们部署到实时服务器。 (请参阅是否可以在不使用 WebMatrix 的情况下部署 ASP.NET 网页网站?)

在不使用 IDE 的情况下运行IIS Express

如果在计算机上安装IIS Express作为 Web 服务器,则可以使用它来测试页面。 可以从命令行运行IIS Express,并将其与特定端口号相关联。 然后,在浏览器中请求 .cshtml 文件时指定该端口。

在 Windows 中,使用管理员权限打开命令提示符并更改为 C:\Program Files\IIS Express。 (对于 64 位系统,请使用文件夹 C:\Program Files (x86) \IIS Express.) 然后,使用站点的实际路径输入以下命令:

iisexpress.exe /port:35896 /path:C:\BasicWebSite

可以使用其他某个进程尚未保留的任何端口号。 (超过 1024 的端口号通常是免费的。) 对于 path 值,请使用 .cshtml 文件所在的网站文件夹的路径。

运行此命令以设置IIS Express以提供页面后,可以打开浏览器并浏览到 .cshtml 文件。 使用如下所示的 URL:

http://localhost:35896/default.cshtml

有关IIS Express命令行选项的帮助,请在命令行中输入 iisexpress.exe /?

是否可以在网页页上使用 ASP.NET Web Forms控件?

错误。 Web Forms控件(如 CheckBox 控件、验证控件GridView 控件)仅适用于) Web Forms 页 (.aspx 文件。 这些控件需要Web Forms页面框架。

是否可以在不使用 WebMatrix 的情况下部署 ASP.NET 网页站点?

是的。 通常可以使用 FTP) 将网站文件手动复制到服务器 (。 如果执行手动复制,则还必须复制支持SQL Server Compact (数据库) 的文件。 有关详细信息,请参阅博客文章 部署没有工具的网页应用程序

是否必须使用 WebSecurity 帮助程序来支持登录?

错误。 SimpleMembership属于 ASP.NET 网页的提供程序是一个选项。 此外,还提供了你可能习惯在 Web Forms) 中使用的 ASP.NET (一部分的安全提供程序。 例如,可以在 ASP.NET 网页 中使用表单身份验证,就像在 Web Forms 中一样。 有关如何使用表单身份验证的示例,请参阅Microsoft 支持部门文章 How To Implement Forms-Based Authentication in your ASP.NET Application by Using C#.NET(如何使用 C#.NET 在 ASP.NET 应用程序中实现 Forms-Based 身份验证)。 若要下载简单示例,请参阅 ASP.NET 版本的“登录 & 密码

有关如何使用 Windows 身份验证 的信息,请参阅博客文章在 ASP.NET 网页 中使用 Windows 身份验证

ASP.NET 网页是否支持 HTML5?

是的。 使用 ASP.NET 网页 (.cshtml.vbhtml 页面) 创建的页面实质上是 HTML 页面,这些页面也包含呈现页面之前在服务器上运行的代码。 只要用户的浏览器支持 HTML5,就可以在 .cshtml.vbhtml 页面中使用 HTML5 元素。

是否可以对网页使用 JavaScript 和 jQuery?

绝对是。 使用 ASP.NET 网页 (.cshtml.vbhtml 页面创建的页面) 只是包含服务器代码的 HTML 页面。 因此,可以使用 JavaScript 或 jQuery 在普通 HTML 页面中执行的任何操作,也可以在 .cshtml.vbhtml 页面中执行。

WebMatrix 中的 初学者网站 模板包含许多 jQuery 库。 如果使用该模板创建网站, 则 Scripts 文件夹包含 jQuery 核心库 (jquery-1.6.2.js) 以及用于 jQuery 验证 (jquery.validate.js等 ) 库。

下面是一些博客文章,演示了如何将 jQuery 与 ASP.NET 网页 配合使用: