@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>

http://www.cnblogs.com/developersupport/p/WebAPI-Security.html

原文地址:https://www.cnblogs.com/sjqq/p/8805917.html

时间: 2024-07-30 10:45:15

@Helper辅助方法和@functions自定义函数的相关文章

@Helper辅助方法和@functons自定义函数

1.首先说下@helper辅助方法,当我们在多个视图中共用相同的方法的时候,可以把此方法剥离出来放到一个位置,此时就可以用到@Helper辅助方法,首先我们在解决方案右键添加 App_Code文件夹,然后添加一个cshtml文件,清空原有文件内容,然后把自定义的方法放进去,例如 @helper Show(int i) { if(i==1) { @:值为1 } else { @:值为其他 } } 2.当我们想实现更复杂的逻辑,比如想有返回值的时候可以通过@functions关键字来自定义函数,如下

MVC4 @helper辅助方法

Razor提供了一种很方便的语法,可以将view页面中部分内容或部分代码抽取出来,变成一个独立的辅助方法. eg1: @foreach(var item in Model){ <标签tr> <标签td>@item.Name</标签td> <标签td>@item.Price</标签td> </标签tr> } 当如果我们要对item.Price做处理时,比如为0时,网页显示免费,则需要加个判断 eg2: @foreach(var item

razor自定义函数 @helper 和@functions小结

from:http://www.cnblogs.com/jiagoushi/p/3904995.html asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,减少开发bug的出现. Razor 采用的是@ 尾巴符号,正是这个符号成就了Mvc开发效率的提升.下面了解一下和@相关的两个可以重用的helper.functions. 作为现代化的

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

asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,减少开发bug的出现. Razor 采用的是@ 尾巴符号,正是这个符号成就了Mvc开发效率的提升.下面了解一下和@相关的两个可以重用的helper.functions. 作为现代化的程序员,我们尽可能的遵守一个原则.不要重复你自己.所以能够重构的代码我们都会合并,但是这是对于后台代码C#

MVC学习系列[email&#160;protected]辅助方法和用户自定义HTML方法

在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类,分成三个类型: Inline HTML helpers[内联的HTML帮助类,例如@Html.Label等] Built-in HTML helpers[也就是嵌套的HTML帮助类,即@helper辅助方法] Custom HTML helpers[自定义的HTML帮助类] 在这里,我们学习第二种,

PHP——自定义函数

<?php //定义有默认值的函数 function Main3($f=5,$g=6) { echo $f*$g; } Main3(2,3); echo "<br />"; //可变参数的函数(参数数量可以改变) function Main4() { for($i=0;$i<func_num_args();$i++) { $array=func_get_args();//获取输入的参数,是一个数组 echo $array[$i]."<br /&g

python 自定义函数

200 ? "200px" : this.width)!important;} --> 介绍 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回,return满足条件就不再执行下面的语句,也可以用print输出. 1.定义函数 自定义一个年龄段的判断函数,当输入的年龄大于等于18返回’adult‘,如果输入的值是非整形则返回错误 #!/usr/bin/env python3 #

sqlserver中自定义函数+存储过程实现批量删除

由于项目的需要,很多模块都要实现批量删除的功能.为了方便模块的调用,把批量删除方法写成自定义函数.直接上代码. 自定义函数: ALTER FUNCTION [dbo].[func_SplitById] (@str varchar(50),@split varchar(10))--传过来的id字符串 --分割的标志 RETURNS @t Table (id int) --返回一个表 AS BEGIN DECLARE @x XML --进行拼接 SET @x = CONVERT(XML,'<item

Mvc5 表单和HTML辅助方法

①表单的使用 在WebFrom里面你创建一个页面,页面上就会出<from></from>. 1,action和method属性 action表示目的,method表示表单传值方式get/post, action默认为当前URL, method默认为:get 2,enctype   一般需要设置这个属性来允许表单提交多媒体类型 ②HTML辅助方法   如果BeginForm() 表示对当前URL提交Post提交. 1,自动编码 2,HTML辅助方法的工作原理 Html属性的类型是Sy