作者: Tom FitzMacken
注意
不再建议将 WebMatrix 用作 ASP.NET 网页的集成开发环境。 使用 Visual Studio 或 Visual Studio Code。
本文列出了有关 ASP.NET 网页(Razor)和 WebMatrix 的一些常见问题。
本教程中使用的软件版本
- ASP.NET 网页 (Razor) 3
- Visual Studio 2013
- WebMatrix 3
有关错误和其他问题的问题,请参阅 ASP.NET 网页(Razor)故障排除指南。
ASP.NET 网页、ASP.NET Web 窗体和 ASP.NET MVC 之间的区别是什么?
这三种技术都是用于创建动态 Web 应用程序的 ASP.NET 技术:
- ASP.NET 网页重点介绍如何添加对 HTML 页面的动态(服务器端)代码和数据库访问权限,以及简单而轻量级的语法。
- ASP.NET Web 窗体基于页面对象模型和传统的窗口类型控件(按钮、列表等)。 Web 窗体使用一个基于事件的模型,该模型熟悉那些使用基于客户端(Windows 窗体)开发的模型。
- ASP.NET MVC 实现用于 ASP.NET 的模型-视图-控制器模式。 重点是“分离关注点”(处理、数据和 UI 层)。
这三个框架都得到了完全支持,并将继续由 ASP.NET 团队开发。 一般情况下,要使用的框架的选择取决于你的背景和 ASP.NET 体验。
特别是 ASP.NET 网页旨在使已经知道 HTML 的人能够轻松地将服务器处理添加到其页面。 对于学生、业余爱好者、一般不熟悉编程的人来说,这是一个不错的选择。 对于具有 non-ASP.NET Web 技术经验的开发人员来说,这也是一个不错的选择。
是否需要 WebMatrix 才能使用网页?
否。 不再建议将 WebMatrix 用作 ASP.NET 网页的集成开发环境。 使用 Visual Studio 或 Visual Studio Code。
如果不想使用 Visual Studio 或 Visual Studio Code,可以使用Microsoft Web 平台安装程序单独安装组件产品。 需要以下产品:
- Microsoft .NET Framework 4.5
- ASP.NET MVC 5(同时安装 ASP.NET 网页框架)
- IIS Express (Web 服务器)
- Microsoft SQL Server Compact 4.0 (数据库)
可以使用文本编辑器编辑 .cshtml(或 .vbhtml)页面。
在没有工具的情况下管理 SQL Server Compact 数据库(.sdf 文件)会更加困难。 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 窗体控件?
是否可以在不使用 WebMatrix 的情况下部署 ASP.NET 网页站点?
是的。 你可以手动将网站文件复制到服务器(通常使用 FTP)。 如果执行手动复制,则还必须复制支持 SQL Server Compact(数据库)的文件。 有关详细信息,请参阅博客文章 :部署没有工具的网页应用程序。
我是否需要使用 WebSecurity 帮助程序来支持登录?
否。 属于 SimpleMembership
ASP.NET 网页的提供程序是一个选项。 还可以使用属于 ASP.NET 的安全提供程序(可能用于在 Web 窗体中使用)。 例如,可以在 ASP.NET 网页中使用表单身份验证,就像在 Web 窗体中一样。 有关如何使用表单身份验证的一个示例,请参阅Microsoft 支持部门文章如何使用 C#.NET 在 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 库。 如果使用该模板创建网站, 则脚本 文件夹包含 jQuery 核心库(jquery-1.6.2.js) 和用于 jQuery 验证的库(jquery.validate.js等)。
下面是一些博客文章,其中说明了将 jQuery 与 ASP.NET 网页配合使用的方法:
使用 WebMatrix by Rachel Appel 将 jQuery Goodness 添加到 ASP.NET 网页
WebMatrix And jQuery Forms by Mike Brind