`
黄继华
  • 浏览: 43534 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ASP.NET MVC3 系列教程 - Razor视图引擎基础语法

 
阅读更多

I:ASP.NET MVC3在Visual Studio 2010中的变化

在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化
image

1.ASP.NET MVC3必要的运行环境为.NET 4.0 (想在3.5用MVC3,没门!)
2.默认MVC3模板项目已集成

image

3.全新的Razor视图引擎
@{
    ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>
<p>
    To learn more about ASP.NET MVC visit 
    <a href="http://asp.net/mvc" title="ASP.NET MVC Website">
        http://asp.net/mvc
    </a>.
    @ServerInfo.GetHtml()
</p>
4. 关于所有带"_"开头的文档

ASP.NET MVC3默认情况下会拒绝所有访问地址以"_"开头的_*.cshtml文档.关于_*.cshtml文档,其实他是WebPages中的一部分,稍后将会详细介绍该以"_"文档的使用说明.
例如访问 http://localhost:7985/_ViewPage1.cshtml
image

II:Razor视图引擎-基础语法

-基础-

所有以 @开头 或 @{ /* 代码体 */ } (在@与{直接不得添加任何空格) 的部分代码都会被ASP.NET引擎进行处理.
在 @{ /*代码体*/ } 内的代码每一行都必须以";"结束,如
@{
var i = 10;
var y = 20;
}
而 @xxx 则不需要以";"作为结束符,如
@i 输出 10
@y; 输出 20;
代码区内字母分大小写.
字符类型常量必须用""括起例如: @{ string str = "my string"; }
-注意-

如需要在页面输出”@”字符
可以使用HTML ASCII编码&#64;
当然Razor也提供智能分析功能: 如果在@的前一个字符若是非空白字符,则ASP.NET不会对其进行处理
如:<p>text@i xx</p> 输出 text@i xx

单行语法:
@{ var I = 10; }
多行语法:

@{ 
    var I = 10;
    Var y = 20;
}

1. 使用局部变量,Razor不支持访问修饰符(public,private等,这个没任何意义)
在单行上定义局部变量
@{ var total = 7; }
@{ var myMessage = "Hello World";}
在多行上定义局部变量

@{
    var greeting = "Welcome to our site!";
    var weekDay = DateTime.Now.DayOfWeek;
    var greetingMessage = greeting + " Today is: " + weekDay;
}


在上下文中使用变量

<p>The value of your account is: @total </p>
<p>The value of myMessage is: @myMessage</p>


注意:
变量拼接输出
@{ var i = 10; }
<p>text @i text</p> 将输出 text 10 text
但是如果你想要输出 text10text 呢?

<p>text@{@i}text</p>即可
<p>text@i text</p> 将输出 text@i text
<p>text@itext</p> 将输出 text@itext
<p>text @itext</p> 将报错

如果是输出的是变量的方法名则不需要用@{}括住也可生效,但注意在@字符前记得加空格(感谢spook指出)如:
<p>text @i.ToString()text</p>
使用变量对象可直接写: @var1 @var2 @myObject.xx

2. 使用逻辑处理

@{
    if (xx)
    {
    //do something
    }
    else
    {
    //do anything
    }
}

3. 在@{... }内部使用html标记

@{
    <p>text</P>
    <div>div1</div>
}

4. 在@{...}内部输出文本
利用@:进行单行输出:

@{
    @:This is some text
    @:This is text too
    @:@i 也可输出变量
}

利用<text />进行多行输出:

@{
    <text>
        tomorrow is good
        some girl is nice
    </text>
}

5. 在@{...}内部使用注释

@{
    //单行注释
    var i = 10;
    //defg
}

    @* 多行注释 *@
    @* 
        多行注释
        多行注释 
    *@


@{
    @*
        多行注释
        多行注释 
    *@
    var i = 10;  @* asdfasf *@
}

<!-- 同时也可以使用C#默认的/* ... */ -->

@{
    /*
        多行注释 
    */
}

若在@{ ... }内部使用<!-- -->注释,则会输出到页面之中,如果在<!-- -->内部使用@变量,则会被处理
@{
<!-- time now: @DateTime.Now.ToString() -->
}
输出: <!-- time now: 4/9/2011 12:01 -->>

6. 类型转换
AsInt(), IsInt()
AsBool(),IsBool()
AsFloat(),IsFloat()
AsDecimal(),IsDecimal()
AsDateTime(),IsDateTime()
ToString()
例子:

@{
    var i = “10”;
}

<p> i = @i.AsInt() </p> <!-- 输出 i = 10 --> 

7. 使用循环

<!--方式1-->
@for (int i = 10; i < 11; i++)
{
    @:@i
}
<!--方式2-->
@{
    for (int i = 10; i < 11; i++)
    {
        //do something
    }
}

<!--while同理-->

到此结束!呼呼

分享到:
评论

相关推荐

    ASP.NET MVC 4高级编程 第4版PDF.rar

    ASP.NET MVC 是微软官方提出的一种Web开发框架,通过M是模型(model)-V视图(view)-C控制器(controller)l来设计创建Web应用程序。截至目前最新版本是MVC5,相对于之前的版本MVC5其可扩展性、易用性等方面都不很大的...

    ASP.NET MVC4开发指南高清完整PDF版

    《ASP.NET MVC 4 开发指南》共分11章,第1章讲解通用的MVC特性,第2章讲述正确的开发观念,第3章以一个简单的例子带领读者快速上手ASP.NETMVC,第4~8章分别介绍了ASP.NETMVC最重要的核心观念与技术解析,其中包括...

    ASP.NET MVC 3高级编程

    《asp.net mvc 3高级编程》 第1章 入门 1 1.1 asp.net mvc简介 1 1.1.1 asp.net mvc如何适应asp.net 1 1.1.2 mvc模式简介 2 1.1.3 mvc在web框架中的应用 2 1.1.4 asp.net mvc 3的发展历程 3 1.1.5 razor视图...

    ASP.NET MVC 4高级编程(包含源码)

    MVC专家“梦之队”对ASP.NET MVC 4的全新诠释 由Microsoft专家和极受敬重的软件开发社区负责人撰写的《ASP.NET MVC 4高级编程(第4版)》将带您学习最前沿的Web框架:ASP.NET MVC 4。本书开篇简要介绍ASP.NET MVC框架...

    ASP.NET MVC 4 高级编程 源码

    《ASP.NET MVC 3 高级编程》主要内容是描述视图的概念,探讨Razor语法、NuGet、单元测试等,解释控制器在MVC框架中的作用,以及模型在绑定和数据访问策略中发挥的作用,演示如何显示和处理表单,涵盖添加到April ...

    RazorPDF, 在 ASP.NET MVC中,通过 Razor 视图制作pdf的简单项目.zip

    RazorPDF, 在 ASP.NET MVC中,通过 Razor 视图制作pdf的简单项目 RazorPDFRazorPDF是一个简单的项目,它使用 Razor 视图引擎来创建 pdf 。 由于 Razor 是一个模板语法,它可以做的不仅仅是生成 HTML 。 RazorPDF使用...

    ASP.NET MVC 4 开发指南PDF

    《ASP.NET MVC 4 开发指南》共分11章,第1章讲解通用的MVC特性,第2章讲述正确的开发观念,第3章以一个简单的例子带领读者快速上手ASP.NETMVC,第4~8章分别介绍了ASP.NETMVC最重要的核心观念与技术解析,其中包括...

    ASP.NET MVC4开发权威指南(高清版)

    《ASP.NET MVC 4 开发指南》共分11章,第1章讲解通用的MVC特性,第2章讲述正确的开发观念,第3章以一个简单的例子带领读者快速上手ASP.NETMVC,第4~8章分别介绍了ASP.NETMVC最重要的核心观念与技术解析,其中包括...

    ASP.NET MVC 4高级编程(第4版)中文版 超清晰PDF

    MVC专家“梦之队”对ASP.NET MVC 4的全新诠释 由Microsoft专家和极受敬重的软件开发社区负责人撰写的《ASP.NET MVC 4高级编程(第4版)》将带您学习最前沿的Web框架:ASP.NET MVC 4。本书开篇简要介绍ASP.NET MVC框架...

    ASP.NET Core MVC从入门到精通系列文章PDF版

    本系列文章共计20篇,主要包括ASP.NET Core MVC项目创建,启动运行,以及命名约定,创建控制器,视图,模型,接收参数,传递数据ViewData,ViewBag,路由,页面布局,wwwroot和客户端库,Razor语法,...

    理解ASP.NET MVC中的Razor视图引擎

     Razor 是一种允许向网页中嵌入基于服务器的代码(C#)的标记语法,是微软针对ASP.NET MVC推出的模板引擎。  C# 的主要 Razor 语法规则  Razor 代码封装于 @{ … } 中  行内表达式(变量和函数)以 @ 开头 ...

    ASP.NET-MVC-Model-Container:容器类,其中包含由ASP.NET MVC控制器和Razor视图共享的多个模型

    容器类,其中包含由ASP.NET MVC控制器和Razor视图共享的多个模型 控制器用途: public class SampleController : Controller { public ActionResult Index () { var model1 = new Model1 (); var model2 = new ...

    ASP.NET MVC 4高级编程(第4版)中文版 超清晰PDF及配套源码Part1

    ASP.NET MVC 4高级编程(第4版)中文版 高清扫描,学习ASP.NET MVC4圣典之作,一册在手,拨云见日。(因超出本人可上传大小限制,只好分卷上传,请同时下载part1和part2后再解压)。本书简明易懂,用趣味的引导方式...

    详解ASP.NET MVC3:Razor的@:和语法

    这是我正在写的博文系列中的另一篇,涵盖ASP.NET MVC 3的一些新功能: http://weblogs.asp.net/scottgu/archive/2010/10/19/asp-net-mvc-3-new-model-directive-support-in-razor.aspx Razor中的布局10月22日) 用...

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章 --操作数据 1、 关于HtmlHelper和UrlHelper 因为大部分的web请求的目标都是向客户端发送HTML代码。因此,Asp.Net MVC也是 为我们创建HTML提供了各种帮助。...

    ASP.NET MVC4开发指南

    第2章讲述正确的开发观念,第3章以一个简单的例子带领读者快速上手ASP.NET MVC,第4~8章分别介绍了ASP.NET MVC最重要的核心观念与技术解析,其中包括由与生命周期、模型、控制器、Razor视图引擎技术、本地技术等,...

    ASP.NET MVC网上图书商城电商网站运营源码

    2项目使用 ASP.NET MVC框架,使用ADO.NET实体数据模型 EF连接数据库,view视图用Razor视图,控制器动作方法使用 Linq to sql 实现与数据库进行数据交互,并完成业务逻辑操作 3页面使用伪静态处理 网站前台 1Web前端...

Global site tag (gtag.js) - Google Analytics