ASP.NET Web Pages (Razor) FAQ

By Tom FitzMacken|February 7, 2014
 

This article lists some frequently asked questions about ASP.NET Web Pages (Razor) and WebMatrix.

Software versions used in the tutorial

For questions about errors and other issues, see the ASP.NET Web Pages (Razor) Troubleshooting Guide.

What's the difference between ASP.NET Web Pages, ASP.NET Web Forms, and ASP.NET MVC?

All three are ASP.NET technologies for creating dynamic web applications:

  • ASP.NET Web Pages focuses on adding dynamic (server-side) code and database access to HTML pages, and features simple and lightweight syntax.

  • ASP.NET Web Forms is based on a page object model and traditional window-type controls (buttons, lists, etc.). Web Forms uses an event-based model that's familiar to those who've worked with client-based (Windows forms) development.

  • ASP.NET MVC implements the model-view-controller pattern for ASP.NET. The emphasis is on "separation of concerns" (processing, data, and UI layers).

All three frameworks are fully supported and continue to be developed by the ASP.NET team. In general, the choice of which framework to use depends on your background and experience with ASP.NET.

ASP.NET Web Pages in particular was designed to make it easy for people who already know HTML to add server processing to their pages. It's a good choice for students, hobbyists, people in general who are new to programming. It can also be a good choice for developers who have experience with non-ASP.NET web technologies.

What's the difference between Web Pages and WebMatrix?

ASP.NET Web Pages is a programming framework for creating pages that run on the server. (See previous question.)

Microsoft WebMatrix is a tool set (an integrated development environment, or IDE) for developing many kinds of web applications. WebMatrix includes tools that are useful for web development, such as a database management tool for SQL Server Compact and MySQL databases. WebMatrix includes a local web server (IIS Express) that lets you test pages, and it lets you analyze pages for SEO and for errors. It also includes a facility for publishing sites to a hosting provider.

When you install WebMatrix, you also install ASP.NET Web Pages and other technologies like IIS Express and SQL Server Compact. Although these products are included in the WebMatrix installation process, they are also separate products.

You do not need WebMatrix in order to create ASP.NET Web Pages applications. You can use also Visual Studio, or use a text editor to create pages. (See next question.) However, the tools in WebMatrix make it easier to create and test your pages.

Conversely, you can use WebMatrix to create websites other than ASP.NET Web Pages applications. For example, you can create applications based on open-source frameworks like PHP, WordPress, DotNetNuke, Joomla!, and Drupal.

Do I need WebMatrix in order to work with Web Pages?

No. You can use Visual Studio 2013 to work with ASP.NET Web Pages sites. Visual Studio gives you many of the features of WebMatrix, plus additional ones like debugging.

If you don't want to use either WebMatrix or Visual Studio, you can install the component products individually usingMicrosoft Web Platform Installer. You need the following products:

  • Microsoft .NET Framework 4.5
  • ASP.NET MVC 5 (which installs the ASP.NET Web Pages framework as well)
  • IIS Express (the web server)
  • Microsoft SQL Server Compact 4.0 (the database)

You can use a text editor to edit .cshtml (or .vbhtml) pages.

Managing SQL Server Compact databases (.sdf files) without a tool is a bit harder. WebMatrix and Visual Studio contain tools for managing .sdf databases. You can also run SQL commands in code to perform many SQL Server management tasks.

To test .cshtml pages without using WebMatrix, you can deploy them to a live server. (See Can I deploy an ASP.NET Web Pages site without using WebMatrix?)

Running IIS Express without using WebMatrix

If you installed WebMatrix, you have IIS Express installed on your computer as a web server and you can use that to test the pages. You can run IIS Express from the command line and associate it with a specific port number. You then specify that port when you request .cshtml files in your browser.

In Windows, open a command prompt with administrator privileges and change to C:\Program Files\IIS Express. (For 64-bit systems, use the folder C:\Program Files (x86)\IIS Express.) Then enter the following command, using the actual path to your site:

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

You can use any port number that isn't already reserved by some other process. (Port numbers above 1024 are typically free.) For the path value, use the path of the website folder where the .cshtml files are.

After you run this command to set up IIS Express to serve your pages, you can open a browser and browse to a.cshtml file. Use a URL like the following:

http://localhost:35896/default.cshtml

For help with IIS Express command line options, enter iisexpress.exe /? at the command line.

Can I use ASP.NET Web Forms controls on a Web Pages page?

No. Web Forms controls like the CheckBox control, the validation controls, and the GridView control only work in Web Forms pages (.aspx files). These controls require the Web Forms page framework.

Can I deploy an ASP.NET Web Pages site without using WebMatrix?

Yes. You can manually copy website files to a server (typically by using FTP). If you perform a manual copy, you also have to copy the files that support SQL Server Compact (the database). For details, see the blog entry Deploying Web Pages applications without a tool.

Do I have to use the WebSecurity helper to support logins?

No. The SimpleMembership provider that is part of ASP.NET Web Pages is one option. The security providers that are part of ASP.NET (that you might be used to working with in Web Forms) are also available. For example, you can use forms authentication in ASP.NET Web Pages just as you would in Web Forms. For one example of how to use forms authentication, see the Microsoft Support article How To Implement Forms-Based Authentication in Your ASP.NET Application by Using C#.NET. To download a simple example, see ASP.NET version of "Login & Password.

For information about how to use Windows authentication, see the blog post Using Windows authentication in ASP.NET Web Pages.

Does ASP.NET Web Pages support HTML5?

Yes. The pages you create with ASP.NET Web Pages (.cshtml or .vbhtml pages) are essentially HTML pages that also contain code that runs on the server, before the page is rendered. As long as the user's browser supports HTML5, you can use HTML5 elements in a .cshtml or .vbhtml page.

Can I use JavaScript and jQuery with Web Pages?

Absolutely. The pages you create with ASP.NET Web Pages (.cshtml or .vbhtml pages) are just HTML pages with server code in them. Therefore, anything you can do in a normal HTML page by using JavaScript or jQuery you can also do in a .cshtml or .vbhtml page.

The Starter Site template in WebMatrix contains a number of jQuery libraries. If you create a site by using that template, the Scripts folder contains a jQuery core library (jquery-1.6.2.js) and libraries for jQuery validation (jquery.validate.js, etc.).

ASP.NET Web Pages (Razor) FAQ的更多相关文章

  1. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  2. Displaying Data in a Chart with ASP.NET Web Pages (Razor)

    This article explains how to use a chart to display data in an ASP.NET Web Pages (Razor) website by ...

  3. Customizing Site-Wide Behavior for ASP.NET Web Pages (Razor) Sites

    Customizing Site-Wide Behavior for ASP.NET Web Pages (Razor) Sites By Tom FitzMacken|February 17, 20 ...

  4. ASP.NET Web Pages (Razor) API Quick Reference

    ASP.NET Web Pages (Razor) API Quick Reference By Tom FitzMacken|February 10, 2014 Print This page co ...

  5. ASP.NET Web Pages:Razor

    ylbtech-.Net-ASP.NET Web Pages:Razor 1.返回顶部 1. ASP.NET Web Pages - 添加 Razor 代码 在本教程中,我们将使用 C# 和 Visu ...

  6. Web Pages razor 学习

    1. Web Pages razor Web Pages 是三种 ASP.NET 编程模型中的一种,用于创建 ASP.NET 网站和 web 应用程序. 其他两种编程模型是 Web Forms 和 M ...

  7. ASP.NET Web Pages 的冲突版本问题

    随着VS版本和.NET MVC版本.EF的版本的不断更新,虽然很多功能随着版本的提升而更完善,但对于旧版本开发的软件就有点悲催了,或许很多开发者都遇到类似的问题! 最近有一个项目是用.NET MVC3 ...

  8. ASP.NET Web Pages:发布网站

    ylbtech-.Net-ASP.NET Web Pages:发布网站 1.返回顶部 1. ASP.NET Web Pages - 发布网站 学习如何在不使用 WebMatrix 的情况下发布 Web ...

  9. ASP.NET Web Pages:WebGrid 帮助器

    ylbtech-.Net-ASP.NET Web Pages:WebGrid 帮助器 1.返回顶部 1. ASP.NET Web Pages - WebGrid 帮助器 WebGrid - 众多有用的 ...

随机推荐

  1. Jvm垃圾回收器详细

    1, 串行回收器 1.1, 新生代串行回收器 (1)特点:  –它仅仅使用单线程进行垃圾回收  –它是独占式的垃圾回收  –进行垃圾回收时, Java应用程序中的线程都需要暂停(Stop-The-Wo ...

  2. python 数据库查询结果转对象

    #coding:utf-8 from json import dumps, loads, JSONEncoder, JSONDecoder import pickle from app.model.J ...

  3. shell中字体变色

    在linux中给字体使用数字代码变色 字体颜色代码:重置0 ,黑色30,红色31,绿色32,黄色33,蓝色34,洋红35,青色36,浅灰37 效果代码:1m加粗  2m加下划线  5m闪动效果  7m ...

  4. 【转】windows下mysql5.1忘记root密码解决方法

    步骤如下:1.停止mysql服务(以管理员身份,在cmd命令行下运行) net stop mysql D:\>net stop mysql MySQL 服务正在停止. MySQL 服务已成功停止 ...

  5. FPGA前世今生(四)

    前几期我们一直介绍FPGA内部资源,今天我们将用最后的篇幅来介绍剩下的内部资源部分,结束我们FPGA的前世今生.之所以起名字为FPGA前世今生,其实就是介绍一下FPGA内部资源,前世的内部结构资源就不 ...

  6. linux字符界面下root用户无法登录成功

    os: rhel5.6_x86_64 ———————————————————————————————————————————— 故障:图形界面登录正常,其他一切正常,但是切换到字符界面时,输入用户ro ...

  7. mysql实战优化之六:Order by优化 sql优化、索引优化

    在MySQL中的ORDER BY有两种排序实现方式: 1.利用有序索引获取有序数据 2.文件排序 在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index.而文件排序显示 ...

  8. Oracle 11g r2 rac +openfiler 2.99 安装

    1 openfiler 2.99 安装 在官网下载iso文件,这里选择openfileresa-2.99.1-x86_64-disc1.iso 版本,在vbox下创建一个虚拟机 --vbox 选择li ...

  9. 从request获取各种路径总结 request.getRealPath("url")

    转载:http://blog.csdn.net/piaoxuan1987/article/details/8541839 equest.getRealPath() 这个方法已经不推荐使用了,代替方法是 ...

  10. oracle 11g 导出空表

    正常情况下,oracle11g的 exp命令无法导出空表,弥补这个缺陷的方法是 在空表创建之前,更改系统设置: show parameter deferred_segment_creation 查看, ...