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. FastAdmin 2018-05-26 更新时更新了 SQL 文件 关于 ROW_FORMAT=DYNAMIC 改为 ROW_FORMAT=COMPACT 问题

    FastAdmin 2018-05-26 更新时更新了 SQL 文件 关于 ROW_FORMAT=DYNAMIC 改为 ROW_FORMAT=COMPACT 问题 观查到 FastAdmin 在 20 ...

  2. 关于yum

    1. yum的本地安装 yum install --downloadonly --downloaddir=/opt/software cd /opt/software yum localinstall ...

  3. dede数据库类使用方法 $dsql(转)

    dede数据库类使用方法 $dsql   dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了. 引入common.inc.php文件 ? 1 r ...

  4. WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()

    使用输入子系统实现的按键程序,每次按键后进入中断,就会报错如下: ---input_key_handler--- ------------[ cut here ]------------ WARNIN ...

  5. Oracle记录(四) 简单查询、限定查询、数据的排序

    一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会) ...

  6. jvm是怎样调用方法的

    jvm内部有五种调用方法的指令 invokeinterface 用以调用接口方法,在运行时搜索一个实现了这个接口方法的对象,找出适合的方法进行调用.(Invoke interface method) ...

  7. 在window下 进入系统盘命令

    示例: cd C:\work 查看文件夹直接在当前路径下输入 dir 在当前路径下输入 dir/? 查看帮助

  8. git 统计命令

    git log --author='user' --pretty=tformat: --numstat --since='2018-01-01' --before='2018-10-10' | gaw ...

  9. 【转】使用JMeter测试你的EJB

    对EJB进行一些性能基准测试是非常有必要和有帮助的,测试的方法和工具有很多,不过我最近发现,Apache JMeter是进行基准测试的一个优秀工具.可惜的是,JMeter没有提供一个可测试任意EJB的 ...

  10. TELNET协议规范

    ARPA Internet上的主机被要求采用并实现此标准. 介绍 TELNET Protocol的目的是提供一个相对通用的,双向的,面向八位字节的通信方法.它主要的目标是允许接口终端设备的标准方法和面 ...