/////@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页面都会引入的命名空间,如果大部分试图页面都要引入相同命名空间的话,可以在这里载入,就不用在每个页面上写了

MVC4笔记 @functions @model @using的更多相关文章

  1. MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates)

    转载于: MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates) 虽然 [Display(Name="XX ...

  2. .NET MVC4 数据验证Model(二)

      一.概述 MVC分为ViewModel.Control.View,对数据的封装MVC做的很好,确实是不错的WEB框架,针对MVC的ViewModel封装的也是相当的不错,最近做一个MVC的项目,采 ...

  3. Asp .Net MVC4笔记之走进MVC

    一.MVC三层架构: mvc三层架构,大家都比较熟悉了,这里再介绍一下.Mvc将应用程序分离为三个部分: Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则.与数 ...

  4. 学习笔记之Model selection and evaluation

    学习笔记之scikit-learn - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/9997485.html 3. Model selection ...

  5. @functions @model @using

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

  6. 【要什么自行车】ASP.NET MVC4笔记01:Asp.net MVC 分页,采用 MvcPager 和CYQ.Data来分页

    Control: ) { ; ; using (MAction action = new MAction("brain")) { MDataTable table = action ...

  7. MVC4笔记 Area区域

    mvc4.0新增的area区域机制,可以协助你在架构较为大型的项目,让独立性较高的部分功能独立成一个MVC子网站,以降低网站与网站之间的耦合性,也可以通过area的切割,让多人同时开发同一个项目时候, ...

  8. (转)Qt Model/View 学习笔记 (三)——Model类

    Model类 基本概念 在model/view构架中,model为view和delegates使用数据提供了标准接口.在Qt中,标准接口QAbstractItemModel类中被定义.不管数据在底层以 ...

  9. ASP.NET MVC4中的Model验证 移除指定验证信息

    MVC中通过Model在页面间传值使的程序开发变得更加的快捷,但是很多时候,我们在数据传递的时候为了确保数据的有效性,要对Model的相关属性做基本的数据验证. 不多说直接上个代码,Model的实体类 ...

随机推荐

  1. 计算DataTable某列的值(SUM)

    参考,如下:

  2. Visual Studio 2015安装插件

    VS2015可以通过安装各种插件增强自己的功能! 插件安装方法: 下载插件后,打开VS2015,双击插件就会出现对应插件安装界面了,对应安装一下就可以了! 插件网址: https://marketpl ...

  3. JS的类型转换

    首先我们要知道,在 JS 中类型转换只有三种情况,分别是: 转换为布尔值 转换为数字 转换为字符串 我们先来看一个类型转换表格 转Boolean 在条件判断时,除了 undefined, null,  ...

  4. git 创建、切换和提交新分支

    查看本地分支 git branch 创建新的分支 git branch <newBranch> 切换分支 git checkout <branchName> 创建并切换分支 g ...

  5. arcgis图片文件

  6. MPI环境配置

    单机多核配置:https://www.cnblogs.com/shixiangwan/p/6626156.html 多计算机配置:https://blog.csdn.net/WASEFADG/arti ...

  7. eclipse项目中的java文件导入后变为空心J问题

    1,选择工程名字右键——>属性——>JavaBuild Path会看到右侧Source标签中为空白 2,点击Add Folder...选择如图所示的src包和相关的配置文件包,点击确定: ...

  8. Javaweb 实现分页功能

    package cn.zr.testpage.entity; public class User { private String name; private int age; private Str ...

  9. vs已停止工作的解决方案

    解决办法 第一步: 开始-->所有程序-->Microsoft Visual Studio 2013(2015)-->VisualStudio Tools-->VS2013(2 ...

  10. 3D电影转2D普通电影,电脑上看

    下了一些电影,打开发现是左右两个一样的画面,什么情况?原来这就是传说中的3D,怎么像正常电影一样的看呢?第一反应去搜3D眼镜,价钱倒是不贵,但是不应急呀,肿么办?以下是观看方法: 一.看电脑上有QQ影 ...