`
sty2008boy
  • 浏览: 301533 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

ASP.NET MVC3 Razor 语法列表

阅读更多

基本寫法介紹

為了讓文章更清楚這裡先假設以下輸出值

Model.Content="<a href='http://demo.tc' >demo小鋪</a>"
item.Key="<span>IsKey</span>"
item.Value="<span>IsValue</span>"
 

Razor	 Aspx
@{
    int a = 123;
    string b = "demoshop";
 }
<%
    int a = 123;
    string b = "demoshop";
%>
程式碼區塊:無輸出
<div>
    @Model.Content
</div>
<div>
    <%:Model.Content %>
</div>
HTML Encoded:<a href='http://demo.tc' >demo小鋪</a>
<div>
    @Html.Raw(Model.Content)
</div>
<div>
    <%=Model.Content %>
</div>
HTML Unencoded:demo小鋪
@foreach (var item in collection)
{
    <span>@item.Key</span>
}
<%foreach (var item in collection)
    {%>
        <span><%:item.Key %></span>
<%} %>
混合程式碼:<span>IsKey</span>
@foreach (var item in collection)
{
    <text>我是純文字</text> @item.Value
}
<%foreach (var item in collection)
    {%>
        我是純文字 <%:item.Key %>
<%} %>
混合程式碼:我是純文字 <span>IsValue</span>
@foreach (var item in collection)
{
    @:我是純文字 @item.Value
}
<%foreach (var item in collection)
    {%>
        我是純文字 <%:item.Key %>
<%} %>
混合程式碼:我是純文字 <span>IsValue</span>
@for (int i = 0; i < 3; i++)
{
    @:目前是第 @i. 
}
<%for (int i = 0; i < 3; i++)
  {%>
      目前是第<%=i %>.
<%} %>
混合程式碼:目前是第 0. 目前是第 1. 目前是第 2.
@(Model.Content == "" ? "沒貨" : Model.Content)

<%:Model.Content==""?"沒貨": Model.Content%>
三元運算子:<a href='http://demo.tc' >demo小鋪</a>
@*你看不到我*@
<%--你看不到我--%>
註解:無輸出
以上部分表格參考C# Razor Syntax Quick Reference。

神奇的 [at] 符號

@念法是 [at] ,台灣俗稱小老鼠,在 Razor 中它有舉足輕重的用處,因為同時列在上表 demo 覺得有點亂因此在給它一個區塊來放它,Razor 很有趣!基本上它會判斷空白字元與斷行符號

比如說我需要輸出 item.Key和item.Value 的值可以有以下的寫法

@item.Key@item.Value

@(item.Key + item.Value)
如果你需要 Unencoded

@:item.Key @item.Value
如果要輸出 I @ Taiwan

I @@ Taiwan
email 的輸出根本不需要有任何調整

test@test.com
前文有提到 Razor 會判斷空白字元和斷行符號,也因為 Email 的 @ 前後都有字所以會很聰明的認定它為字串,並不會當變數看,再來看下面一個範例會更清楚

依據上面的範例今天我們要輸出 demo歡迎登入的字樣,網友們可能會這樣寫

@User.Identity.Name 歡迎登入 //變數和文字中利用一個半型空白來斷開
但這有可能是我們不想要的效果,那就可以利用 @() 包住變數將它改寫為

@(User.Identity.Name)歡迎登入
就會是黏在一起的文字了

同場加映HTML5 支援

在 HTML5 中有一個很不錯的資料記錄標籤 data-xxx ,因為使用他不需要自行定義標籤因此 demo 還滿喜歡的而且利用 jQuery 就可以相當簡單的把 這標籤的值取出( 官方 API )但是如果你想在 ASP.NET MVC3 中使用需要調整一下寫法

@Html.TextBoxFor(model => model.Key, new {data_test="500" })
必須要使用底線,編譯的時候會自動轉換
 
分享到:
评论

相关推荐

    asp.net MVC4 CMS

    ASP.NET MVC4 CMS的视图通常由Razor语法编写,这种语法允许开发者在HTML中嵌入C#代码,实现动态内容渲染。开发者可以根据需求创建各种布局和部分视图,以实现灵活的页面结构。 **控制器(Controller)**: 控制器...

    ASP.NET MVC5

    3. **Entity Framework**:ASP.NET MVC5支持Entity Framework,一个对象关系映射(ORM)工具,简化了数据库操作,使得开发者可以使用C#对象直接操作数据库。 4. **razor视图引擎**:Razor视图引擎提供了一种简洁的...

    Asp.net MVC 3实例学习之ExtShop系列最终源代码

    在Asp.net MVC 3中,Razor视图引擎允许开发者使用C#语法编写视图,这使得视图更加简洁且易于理解。在ExtShop项目中,各种商品列表、购物车、订单详情等页面都是由相应的视图呈现的。 3. **控制器(Controller)**:...

    基于ASP.NET MVC项目实例

    **ASP.NET MVC 框架详解** ASP.NET MVC(Model-View-Controller)是一种轻量级、基于组件的Web应用程序架构,它由微软开发并应用于.NET Framework中,为开发者提供了构建可测试、灵活且易于维护的Web应用的强大工具...

    ASP.NET MVC项目源代码设计资料

    在ASP.NET MVC中,视图通常是由Razor语法编写的HTML模板,它们从控制器接收数据并渲染成网页。视图的主要任务是展示数据,而不涉及业务逻辑。 3. **控制器(Controller)**:控制器是模型和视图之间的桥梁,处理...

    基于ASP.NET MVC 2 的小程序

    ASP.NET MVC 2 是微软开发的一个用于构建动态网站的开源框架,它基于Model-View-Controller(MVC)设计模式,提供了清晰的架构,有助于分离关注点,提高代码的可测试性和可维护性。本教程将带你深入了解如何利用ASP...

    ASP.NET MVC4

    4. **azor视图引擎**:ASP.NET MVC4使用改进的Razor视图引擎,提供了更简洁的代码语法和更好的性能。 5. **Bundling and Minification**:这个特性允许开发者将多个CSS和JavaScript文件打包和压缩成单个文件,减少...

    .NETMVC @Razor

    3. **Views** - 使用Razor语法编写的HTML模板,根据控制器传递的数据动态生成页面。 4. **Views/Shared** - 存放共享视图,如布局页(Layout Pages)和错误页。 5. **Views/Account** - 与用户账户相关的视图,如...

    ASP.NET MVC4 Web编程

    ASP.NET MVC4是一种基于微软.NET Framework的开源web应用程序框架,专为构建可维护性和测试性的动态网站而设计。它结合了MVC(Model-View-Controller)设计模式、ASP.NET的功能性和HTML5的新特性,提供了高效且灵活...

    Asp.net Mvc官方源代码

    在ASP.NET MVC中,视图通常是基于Razor语法的`.cshtml`文件,位于`Views`目录下。视图接收来自控制器的模型对象,并根据模型的数据生成HTML响应。Razor语法允许在HTML中嵌入C#代码,简化了视图的编程。 3. **控制器...

    【全网首发】ASP.NET MVC4开发指南(附带源码)

    3. **视图和布局**:阐述如何创建视图文件,使用razor语法来生成HTML,以及如何使用布局页面实现页面的共通样式和结构。 4. **模型绑定**:介绍ASP.NET MVC4的模型绑定机制,如何自动将HTTP请求数据与模型属性关联。...

    ASP.NET MVC 5 网站开发之美

    4. **视图引擎**:ASP.NET MVC 5支持多种视图引擎,如Razor视图引擎,它提供了一种简洁的语法来创建HTML模板。开发者可以使用C#语法直接在视图中编写代码,提高开发效率。 5. **身份验证与授权**:ASP.NET MVC 5...

    ASP.NET MVC3开源框架

    ASP.NET MVC3是一个基于微软.NET Framework的开源web应用程序框架,专为构建动态、数据驱动的网站而设计。这个框架融合了Model-View-Controller(MVC)设计模式,提供了更强大的控制力和灵活性,使开发者能够更清晰...

    asp.Net mvc4 实例

    在ASP.NET MVC4中,视图通常由Razor语法编写,负责展示模型的数据。开发者可以使用`@model`指令声明视图所使用的模型类型,然后通过`@Html.DisplayNameFor()`、`@Html.EditorFor()`等辅助方法来渲染HTML元素。 3. *...

    ASP.NET MVC3 安装包

    ASP.NET MVC3 是微软开发的一款用于构建Web应用程序的框架,它是基于ASP.NET平台的一个轻量级、模型-视图-控制器(MVC)架构。MVC模式允许开发者将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可维护性。...

    ASP.NET MVC开发实战超完整源码

    3. **路由系统**:路由是ASP.NET MVC中控制URL结构的重要组件,允许开发者自定义URL模式,将特定的URL映射到控制器的特定动作。 4. **控制器(Controller)**:控制器是MVC中的核心组件,负责处理HTTP请求,调用...

    三个ASP.NET MVC3源码全集

    - **Razor 视图引擎**:ASP.NET MVC3引入了Razor视图引擎,它提供了更简洁的语法,使得HTML和C#或VB.NET代码更易混合,提高了开发效率。 - **改进的模型绑定**:模型绑定允许开发者将HTTP请求数据自动映射到模型...

    ASP.NET MVC4 教程(完整版)

    Razor语法简洁,易于理解,允许开发者在视图中直接嵌入C#代码。 7. **模型(Models)** 模型是应用程序的数据载体,通常包含业务对象和数据验证规则。开发者可以使用Entity Framework等ORM工具来方便地操作数据库...

    ASP.NET MVC 3 安装包

    ASP.NET MVC 3 是微软开发的一个用于构建动态网站的开源框架,它基于ASP.NET平台,提供了模型-视图-控制器(MVC)架构模式,旨在提高Web应用的可测试性和可维护性。在这个安装包中,包含的主要文件是"AspNetMVC3...

Global site tag (gtag.js) - Google Analytics