zoukankan      html  css  js  c++  java
  • @functions @model @using

    /////@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
     
    在Viewsweb.config设定档,有个<节点system.web.webPage.razor>区段设定,底下有个<节点namespaces>区段设定了所有view页面都会引入的命名空间,如果大部分试图页面都要引入相同命名空间的话,可以在这里载入,就不用在每个页面上写了
  • 相关阅读:
    Pytorch版本yolov3源码阅读
    Darknet卷基层浅层特征可视化教程
    YOLOv3-darknet 内容解析
    YOLOv2-darknet 内容解析
    YOLOv1-darknet 内容解析
    Qt5.2+opencv2.4.9配置安装过程
    Android程序示例
    【Cuda编程】加法归约
    算法设计与分析课程的时间空间复杂度
    【算法分析】实验 4. 回溯法求解0-1背包等问题
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4597617.html
Copyright © 2011-2022 走看看