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" value=@username /><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
Web Pages razor 学习的更多相关文章
- 如何在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 ...
- 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 ...
- 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 ...
- ASP.NET Web Pages (Razor) FAQ
ASP.NET Web Pages (Razor) FAQ By Tom FitzMacken|February 7, 2014 Print This article lists some fre ...
- 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 ...
- ASP.NET Web Pages:简介
ylbtech-.Net-ASP.NET Web Pages:简介 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种 ...
- ASP.NET Web Pages - 教程
ASP.NET Web Pages - 教程 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式:Web ...
- ASP.NET Web Pages:Razor
ylbtech-.Net-ASP.NET Web Pages:Razor 1.返回顶部 1. ASP.NET Web Pages - 添加 Razor 代码 在本教程中,我们将使用 C# 和 Visu ...
- ASP.NET Web Pages:发布网站
ylbtech-.Net-ASP.NET Web Pages:发布网站 1.返回顶部 1. ASP.NET Web Pages - 发布网站 学习如何在不使用 WebMatrix 的情况下发布 Web ...
随机推荐
- 多态-I(继承实现)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Ubuntu 开启ssh
sudo apt-get install openssh-server Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可 ...
- python构建模拟模型——网站独立访问用户数量
背景:发现一个有趣的现象,即一些用户在每一月都仅仅访问网站一次,我们想要了解这些人数量的变化趋势. 建立数学模型:简化问题,根据瓮模型推导出公式(具体推导见<数据之魅>,有时间再补充... ...
- 【Tsinghua OJ】灯塔(LightHouse)问题
描述 海上有许多灯塔,为过路船只照明.从平面上看,海域范围是[1, 10^8] × [1, 10^8] . (图一) 如图一所示,每个灯塔都配有一盏探照灯,照亮其东北.西南两个对顶的直角区域.探照灯的 ...
- iOS ARC和MRC混编
如果一个工程为MRC,其中需要添加ARC的文件: 选择target -> build phases -> compile sources ->单击ARC的文件将compil ...
- GET请求和POST请求简单说明
一.概述 * HTTP/1.1协议共定义了8中请求方法:OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE, CONNECT. * GET方法和POST是我们使用 ...
- 跟开涛老师学shiro -- shiro简介
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- ZOJ 1095 Humble Numbers
原题链接 题目大意:定义了一种数字Humble Number,他们的质因数只包含2.3.5.7中的一个或者几个,求第n个这样的数,1<=n<=5842. 解法:一看到这道题又在想DFS了, ...
- Codeforces 106 C 多重背包
题目链接:http://codeforces.com/problemset/problem/106/C 根据题意列出式子,设每种蛋糕做了xi个,则对于每种材料bi*xi<=ai. 对于dough ...
- 1.PHP站内搜索 分类: PHP开发实例 2015-07-31 22:48 4人阅读 评论(0) 收藏
PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...