Web Pages razor 学习

1. Web Pages razor

Web Pages 是三种 ASP.NET 编程模型中的一种,用于创建 ASP.NET 网站和 web 应用程序。

其他两种编程模型是 Web Forms 和 MVC (Model, View, Controller)。

Web Pages 是最简单的 ASP.NET 网页开发编程模型。它提供了一种简单的方法将 HTML、CSS、JavaScript 以及服务器代码结合起来:

  • 易于学习、阅读和使用
  • 围绕单一网页进行构建
  • 类似 PHP 和 ASP
  • 服务器脚本使用 Visual Basic 或 C#
  • 对 HTML、CSS、JavaScript 的完全控制

Web Pages 通过可编程的 Web Helpers 进行扩展,包括数据库、视频、图像、社交网络等等。

2. 学习实践

1. 开发环境vs2010 ,sql server 2012

2. 项目文件布局:

几个名称的解释:

Web 启动之前:_AppStart

大多数服务器端代码都是在独立的网页中编写的。例如,假如网页包含输入表单,那么该网页通常包含用于读取数据的服务器代码。

不过,通过在站点根目录中创建名为 _AppStart 的页面,您能够在站点启动前就已执行启动代码(startup code)。假如该页面存在,

ASP.NET 会在站点内的任何页面被请求之前首先运行这个页面。

通常 _AppStart 用于启动代码和全局值的初始化,比如计数器和全局名称。

注释 1:_AppStart 的文件扩展名应与网页相同,比如 _AppStart.cshtml。

注释 2:_AppStart 有下划线前缀。正因如此,用户才无法直接查看该文件。

每张页面之前:_PageStart

就像在站点启动前运行 _AppStart 那样,您能够在每个文件夹中的任意页面之前运行代码。

对于 web 中的每个文件夹,您能够添加名为 _PageStart 的文件。

通常 _PageStart 用于设置文件夹中所有页面的布局文件,或者在运行页面之前检查用户登录。

流程

当请求到来时,ASP.NET 检查 _AppStart 是否存在。如果存在,并且这是对站点的第一次请求,则运行 _AppStart。

然后 ASP.NET 检查 _PageStart 是否存在。如果存在,则运行 _PageStart,在被请求的页面之前。

如果您在 _PageStart 内部引用了对 RunPage() 的调用,那么您可以规定在何处运行被请求的页面。否则,_PageStart 在被请求页面之前运行。

代码部分解释:

Login.cshtml

@{
// LayoutPage = "layout.cshtml";
this.Layout = "layout.cshtml";  使用模板布局 
@:dalong
}
@{

var database = Database.Open("database");
var data = database.Query("select top 100 PSNName, CorpName from myperson2 ");   查询数据库
var grid = new WebGrid(data);  数据绑定显示
foreach (var item in data)
{
<li>the age is :@item.PSNName
</li>
<li>the name is : @item.CorpName
</li>
}
}
@section dalong33 {    节点布局测试
<div id="grid">
@grid.GetHtml()
</div>
}
@{

var username = string.Empty;

username = Request["username"];   请求参数的获取
if (username != null)
{
<form action="login" method="post">
<label for="username">
用户名</label><input type=text name="username" [email protected] /><br>
<label for="pass">
密 码</label><input type="text" name="pass" /><br>
</form>
}
}

layout.cshtml

<! doctype html>
<html>

<head>

</head>

<body>

@RenderBody()

@RenderSection("dalong33",false);   节点布局(false 节点不是必须的)
</body>

</html>

_AppStart.cshtml    应用启动执行的

@{

Context.Response.Write("<script>alert(‘dalong start app‘)</script>");

}

_PageStart.cshtml  每个页面执行的

@{

//Output.Write();

Context.Response.Write("<script>alert(‘app‘)</script>");
}

测试的界面比较简单,不用贴图了。

注意对于所需的dll 的引用

  • Microsoft.Web.Infrastructure.dll
  • NuGet.Core.dll
  • System.Web.Helpers.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Administration.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll
  • WebMatrix.Data.dll
  • WebMatrix.WebData
时间: 2024-10-17 06:51:57

Web Pages razor 学习的相关文章

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

By Tom FitzMacken|February 17, 2014 This article explains how to make site-side settings for pages in an ASP.NET Web Pages (Razor) website. What you'll learn: How to run code that lets you set values (global values or helper settings) for all pages i

如何在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] 一.布局页面介绍[About Layout Pages] 很多网站有些内容需要显示在各个页面中,比如Header,Footer或者告诉用户已经登录的部分.ASP.NET允许你创建一个单独的文件来包含文本.标签和代码的内容块,从而搭建一个风格整齐的网站.接下来你就可以将这个内容块插入到任何你想要让它展示的页面中.采用这种方法

ASP.NET Web Pages (Razor) FAQ

By Tom FitzMacken|February 7, 2014 Print This article lists some frequently asked questions about ASP.NET Web Pages (Razor) and WebMatrix. Software versions used in the tutorial What's the difference between ASP.NET Web Pages, ASP.NET Web Forms, and

ASP.NET Web Pages (Razor) API Quick Reference

By Tom FitzMacken|February 10, 2014 Print This page contains a list with brief examples of the most commonly used objects, properties, and methods for programming ASP.NET Web Pages with Razor syntax. Descriptions marked with "(v2)" were introduc

关于服务器部署System.WEB.Pages.Razor系统无法找到该文件

问题原因:Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies 此问题在本地部署没有问题,而且Razor包含在WebPages中,本地可以正常访问,当发布版本部署到服务器上的时候访问出现该错误.在百度搜了很长时间,最后发现是从Nuget上下载MV

ASP.NET Web Pages ----学习笔记(二)

C#主要Razor语法规则: Razor代码块由@{...}包围 行内表达式以@开始 代码语句以分号结束 变量通过var关键词进行声明 字符串用引用来包围 C#代码对大小写敏感 C#文件的扩展名是.cshtml 内容块 @RenderPage()从不同的文件导入内容 使用布局页面 @RenderBody()内容页必须以Layout指令开头 防止代码泄露 在ASP.NET中,名称以下划线开头的文件无法通过Web来浏览 隐藏敏感信息 在ASP.NET中,隐藏敏感信息常用方法是把这些信息保存在名为"_

ASP.NET Web Pages - 添加 Razor 代码

在本教程中,我们将通过 C# 和 Visual Basic 代码来使用 Razor 标记. 什么是 Razor? Razor 是一种向网页添加基于服务器的代码的标记语法 Razor 拥有传统 ASP.NET 标记的能力,但是更易学习,更易使用 Razor 是一种类似 ASP 和 PHP 的服务器端标记语法 Razor 支持 C# 和 Visual Basic 编程语言 添加 Razor 代码 记得上一章中的网页吗: <!DOCTYPE html> <html lang="en&

Web Pages(单页面模型)

.NET 是一套框架,用来个HTML.JS.CSS和服务器端脚本构建网页和网站. 可以有三种开发模式:Web Pages(单页面模型).MVC(模型视图控制器).Web Forms(事件驱动模型) Web Forms简介 1.最简单的ASP.NET模型 2.类似于PHP和ASP 3.内置了用于数据库.视频.社交媒体等的模板和帮助器. MVC MVC 将 web 应用程序分为三种不同的组件: 1.针对数据的模型 2.针对现实的视图 3.针对输入的控制器 Web Forms 1.传统的 ASP.NE

New for ASP.NET Web Pages: Conditional attributes

from:http://www.mikepope.com/blog/AddComment.aspx?blogid=2353 March 01, 2012 The beta release of ASP.NET Web Pages has been released (for example, as part of the ASP.NET MVC 4 Beta release). There are only a few differences from the December 2011 Dev