ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx

上传人:啊飒飒 文档编号:11621599 上传时间:2021-08-26 格式:DOCX 页数:8 大小:14.27KB
返回 下载 相关 举报
ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx_第1页
第1页 / 共8页
ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx_第2页
第2页 / 共8页
ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx_第3页
第3页 / 共8页
ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx_第4页
第4页 / 共8页
ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx》由会员分享,可在线阅读,更多相关《ASP.NET MVC @Helper帮助方法和@functons自定义函数的用法方法_.docx(8页珍藏版)》请在三一文库上搜索。

1、ASP.NET MVC Helper帮助方法和functons自定义函数的用法方法_ 本文主要介绍ASP.NET MVC中用法Helper和functons自定义一些代码片段,便利视图调用,从而达到削减重复代码,快速开发的目的,盼望对大家有所关心。 ASP.NET Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率。但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,削减开发bug的消失。 Razor 采纳的是尾巴符号,正是这个符号成就了MVC开发效率的提升。下面了解一下和相关的两个可以重用的helpe

2、r、functions。 作为现代化的程序员,我们尽可能的遵守一个原则.不要重复你自己。所以能够重构的代码我们都会合并,但是这是对于后台代码C#来说的,对于在View层 也可以进行一些简洁的业务规律,当然View层可以进行简单的业务规律推断,但是前辈说简单的业务规律是Model或Controller的工作,View层的任务就是展现,业务规律应当是越少越好。 在View层进行的一些重构有哪些呢?其中一个就是helper 自定义片段。 比如说我们要输出一个数字,假如为0的话就输出不存在,假如为其他数字就输出存在,当然这个在强大的Razor语法下很简单的就可以搞定。 (ViewBag.IsEnabl

3、ed = 0 ? 不存在 : 存在) 但是假如当前页面有许多这样的相同规律的推断会怎么样呢?聪慧的程序员确定知道不能重复你自己的原则,所以我们就要进行重构,但是在View层怎么进行重构呢?用法helper可以解决这个问题。 helper Show(int count) if (count = 0) :存在 else :不存在 (ViewBag.IsEnabled = 0 ? 不存在 : 存在)brShow(0) *调用helper* 这样我们在当前页面多个位置进行调用来输出,假如要修改可以修改一部分,而不至于全部都要修改。 还有就要说了,我要在其他页面也用法这个helper怎么办呢?当然方法还

4、是有的,在app_code文件夹下添加一个视图文件(假定为UIHelper.cshtml),将helper代码复制,然后在需要调用的View页面通过UIHelper.Show(0) 来调用。由于app_code文件夹下的文件最终会被编译成类。 总结:我们总结一下要实现依据不怜悯况进行输出有多少种实现方式,当然我能想到的不会完全。 1.通过helper进行全局的设置,让全部需要推断的页面都调用这个helper方法。 2.在后台代码推断,然后输出到前台View。 3.通过Html.Action()或Html.Partial()来猎取,当然假如简洁的还是采纳helper,简单的可以采纳这种方式。 4

5、.通过自定义函数Functions来实现。 自定义函数functions ,自定义函数式采纳c#的语法来实现的代码复用,只不过这个函数可以将html标签输出到页面。 /自定义函数functions functions public IHtmlString Get(int count) string result = ; if (count = 0) result = 不存在; else result = 存在; return new HtmlString(result); Get(0) /调用的自定义函数 请留意,functions 对应的是Razor的代码段,需要添加,并且functions

6、内部是正规的c#方法。 假如要在多个页面同时用法这个functions,可以将这个方法移植到app_code中,假定文件名为UIHelper.cshtml。并且里面的方法必需定义为静态的。这个很好理解,UIHelper相当于类名,而其中的functions就相当于方法,假如要通过类名.方法名来进行调用,则必需将方法定义成静态的。 UIHelper.cshtml文件代码 helper ShowUnit(int count) if (count = 0) :免费 else count functions public static IHtmlString Check(int count) stri

7、ng result = ; if (count = 0) result = fsdfsdfsdfd; else result = count.ToString(); return new HtmlString(result); /自定义函数functions functions public static IHtmlString Get(int count) string result = ; if (count = 0) result = 不存在; else result = 存在; return new HtmlString(result); 总结:helper针对的是挺直输出html内容

8、并且具有简洁的规律的状况,并且helper没有任何返回值,而functions自定义函数则要强大许多,假如functions需要返回html内容,那么返回值是IHtmlString类型,假如不需要返回值,则可以设置为void,但是假如没有返回值也就失去了定义function的意义,所以一般返回值均为IHtmlString。对于View层的重构,我们可以采纳helper和自定义函数functions的方式来实现。 补充:当在页面中引入新类型的时候,可能命名空间很长,导致页面间好多重复代码,可以在view页面的开头位置导入命名空间, 如下:model IEnumrableMVC.Test.Anim

9、al可以改为 using MVC.Test model IEnumrableAnimal; 当全部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=ne

10、utral, 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 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1