/////@functions自定义函数//////

@helper辅助方法的确可以很方便的完成辅助方法开发,不过却失去了一些弹性,例如,无法在@helper中自定义属性,只能单纯的传入参数,然后格式化成你想要的样子后直接输出,因此razor还提供了@functions自定义函数功能,能够让你用接近c#类别的方式进一步定义为更复杂的辅助方法。

 
必须先通过@functions定义出一个代码区块,然后把c#方法写在里面,如果该方法必须将执行结果回传到view页面上的话,则必须以IHtmlString型别回传。

用法实例。
@functions{
public IHtmlString GetYesterday(){
var theDay=DateTime.Now.Adds(-1);
return new HtmlString(theDay.ToShortDateString());
}
}
在与@functions同一个页里,就能使用@GetYesterDay()方法来执行,与@helper辅助类方法相同,如果希望在多个不同的view页面里使用这个@functions定义的方法, 可以将这段@functions声明移到app_code目录下的cshtml文件里,但是有一个小地方要注意,移过去的方法或者属性,必须声明为静态的才能让各页面取用,则变成
@functions{
public static  IHtmlString GetYesterday(){
var theDay=DateTime.Now.Adds(-1);
return new HtmlString(theDay.ToShortDateString());
}
}
 
/////@model引用参数资料型别/////
在razor页面可以在页面最上方通过@model语法设定一组view页面的强类型数据模型参考,套用了数据模型号,在这个view页面里就可以用具有型别的方式取用Model五件
语法声明范例:
@model IEnumerable
注意:@model语法的第一个字母是小写m,与Model实体要区分开来。
 
/////@using引用命名空间/////
在razor页面最上方可以通过@using引用这一个view页面里会用到的命名空间,以简化程序的长度,以上面@model的语法为例
eg:
@using MvcApplication6.Models
@model IEnumerable
 
在Views\web.config设定档,有个<节点system.web.webPage.razor>区段设定,底下有个<节点namespaces>区段设定了所有view页面都会引入的命名空间,如果大部分试图页面都要引入相同命名空间的话,可以在这里载入,就不用在每个页面上写了

@functions @model @using的更多相关文章

  1. MVC4笔记 @functions @model @using

    /////@functions自定义函数////// @helper辅助方法的确可以很方便的完成辅助方法开发,不过却失去了一些弹性,例如,无法在@helper中自定义属性,只能单纯的传入参数,然后格式 ...

  2. ClientImageViewController

    package com.vcredit.ddcash.server.web.controller.common; import com.vcredit.ddcash.server.commons.mo ...

  3. STM32 F4 DAC DMA Waveform Generator

    STM32 F4 DAC DMA Waveform Generator Goal: generating an arbitrary periodic waveform using a DAC with ...

  4. PH_Pooled Featrues Classification MIREX 2011 Submission

    Abstract Principal Mel-Spectrum Components (Feature) Temporal Pooling Functions (Model) Single Hidde ...

  5. Spring Boot笔记一

    Spring Boot 入门 Spring Boot 简介 > 简化Spring应用开发的一个框架:> 整个Spring技术栈的一个大整合:> J2EE开发的一站式解决方案: 微服务 ...

  6. 解读人:董鑫,Disease Development Is Accompanied by Changes in Bacterial Protein Abundance and Functions in a Refined Model of Dextran Sulfate Sodium (DSS)-Induced Colitis

    文章中文名:在葡聚糖硫酸钠(DSS)诱导下的结肠炎模型伴随着细菌蛋白质丰度和功能的改变 单位: 1 Helmholtz-Centre for Environmental Research - UFZ, ...

  7. 模型浏览器【Model Browser】【EF基础系列6】

    We have created our first Entity Data Model for School database in the previous section. The visual ...

  8. asp.net MVC helper 和自定义函数@functions小结

    asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...

  9. 创建实体数据模型【Create Entity Data Model】(EF基础系列5)

    现在我要来为上面一节末尾给出的数据库(SchoolDB)创建实体数据模型: SchoolDB数据库的脚本我已经写好了,如下: USE master GO IF EXISTS(SELECT * FROM ...

随机推荐

  1. 九度OJ 1013:开门人和关门人 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5052 解决:2563 题目描述:     每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签到.签离记录,请 ...

  2. Cocos2d-js官方完整项目教程翻译:六、添加Chipmunk物理引擎在我们的游戏世界里

    添加Chipmunk物理引擎在我们的游戏世界里         一.简介                   cocos2d JS能给我们力量来创造令人印象深刻的游戏世界.但缺乏某种现实.       ...

  3. json字符串转集合或者数组

    import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...

  4. 【题解】Fence(单调队列)

    [题解]Fence(单调队列) POJ - 1821 题目大意 有\(k\)个粉刷匠,每个粉刷匠一定要粉刷某个位置\(S_i\),一个粉刷匠可以粉刷至多\(l_i\)个位置(必须连续\(l_i\)互不 ...

  5. mongoDB多级子文档查询

    db.getCollection('product').find({'coverage':{'$elemMatch':{'plan':{'$elemMatch':{'iscoverage':{'$in ...

  6. ls bash: cannot create temp file for here-document: No space left on device

    出现这种问题,一般是磁盘空间满了,或者是inode满了 使用命令: df -h查询磁盘空间 df -i 查询inode占用 Filesystem Inodes IUsed IFree IUse% Mo ...

  7. A. Drazil and Date

    这是codeforces#292 div2 的一道题,因为本人比较水,目前只能做div2了.问题简化版就是: 从 (0,0) 走到 (a, b) ,s 步能不能走完.每次能向上下左右走,且只能走一步. ...

  8. 使用valgrind进行内存泄漏和非法内存操作检测

    valgrind是一个强大的工具,最常用的功能是用它来检测内存泄漏和非法内存的使用.要想让valgrind报告的更加细致,请使用-g进行编译. 基本命令如下: $ valgrind --tool=me ...

  9. java图形界面设计

    1.       基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Cont ...

  10. ScrollView当显示超出当前页面时自动移动到最底端【转】

    本文转载自:http://gundumw100.iteye.com/blog/1162964 卷轴视图(ScrollView)是指当拥有很多内容,一屏显示不完时,需要通过滚动来显示视图.比如在做一个阅 ...