zoukankan      html  css  js  c++  java
  • @Helper辅助方法和@functions自定义函数

    1、首先说下@helper辅助方法,当我们在多个视图中共用相同的方法的时候,可以把此方法剥离出来放到一个位置,此时就可以用到@Helper辅助方法,首先我们在解决方案右键添加

    App_Code文件夹,然后添加一个cshtml文件,清空原有文件内容,然后把自定义的方法放进去,例如

    @helper Show(int i)
    {
      if(i==1)
      {
          @:值为1
      }
      else
      {
          @:值为其他
      }
    }

    2、当我们想实现更复杂的逻辑,比如想有返回值的时候可以通过@functions关键字来自定义函数,如下

    @functions{
    public static IHtmlString GetYesterday()
        {
            var theDay = DateTime.Now.AddDays(-1);
            return new HtmlString(theDay.ToString());
        }
    }

    注意这个地方一定得用static关键字来修饰,否则其他页面通过类调用不到这个方法,并且返回到视图的返回值类型必须定义为IHtmlString.

         补充:当在页面中引入新类型的时候,可能命名空间很长,导致页面间好多重复代码,可以在view页面的开始位置导入命名空间,

    如下:@model IEnumrable<MVC.Test.Animal>可以改为

    @using MVC.Test

    @model IEnumrable<Animal>;

                 当所有view页面都会引入相同的命名空间的时候,可以采取一种方式避免每个页面都要用@using来引入,在Views目录下有web.config文档,可以在此文档下的

    <system.web.webPages.razor>区段加入每个页面都会用到的命名空间,如下:

    <system.web.webPages.razor>
        <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
          <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Optimization"/>
            <add namespace="System.Web.Routing" />
            <add namespace="WebApplication1" />
          </namespaces>
        </pages>
      </system.web.webPages.razor>
  • 相关阅读:
    JDBC连接各种数据库的字符串,就是不好记
    HTTP协议详解
    gson 简要使用
    maven 仓库地址:
    HTTP请求头详解
    HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
    如何终止java线程
    oracle 函数大全及运算符
    Java集合的线程安全用法
    哈希算法快速查表的原理
  • 原文地址:https://www.cnblogs.com/cby-love/p/5353413.html
Copyright © 2011-2022 走看看