ASP.NET MVC @helper使用说明

简单的 @helper 方法应用场景

  Razor中的@helper语法让您能够轻松创建可重用的方法,此方法可以在您的视图模板中封装输出功能。他们使代码能更好地重用,也使代码更具有可读性。

  在我们定义@helper方法之前的代码

  让我们看一个简单的产品列表应用场景。在此场景中,我们列出产品明细并输出产品的价格或是单词“免费!”——如果这个产品不花费任何成本的话:

  以上代码非常直截了当,而且Razor的语法使得在HTML里能简单地集成服务器端C#代码。

  

  在多视图模式中重用@helper

  在上面的实例中,我们只是在1个视图中定义了@helper方法,所以它只能再当前视图中使用。

  然而,我们可以将@helper方法定义在视图模板外,让项目的所有视图都可以重复使用。

  您可以在.cshtml/.vbhtml保存我们的@helper方法,并把这个文件放在项目根目录下创建的\App_Code目录下例如,我在\App_Code文件夹中创建了一个“ScottGu.cshtml”文件,并且在文件中定义了2个单独的帮助器方法:

  一旦我们的帮助器定义在应用程序级别,我们就可以在应用程序的任何视图模板中使用它们。

  在上面的\App_Code文件夹中的ScottGu.cshtml会逻辑编译为一个称为“ScottGu”的类。这个类中包含了“DisplayPrice” 和 “AnotherHelper”的静态成员。我们可以使用以下代码重写前面的示例来调用它:

  当像如下方法调用应用程序级别帮助器时,VS将会提供智能感知代码:

  有一个问题:当一个@helper保存在\app_code目录中时,默认情况下您不能访问其中的ASP.NET MVC Html帮助器方法。(例如Html.ActionLink(), Html.TextBox()等等)。而当它们定义在与视图相同的文件夹中,您是可以访问内置HTML帮助器方法的。当帮助器位于\app_code目录下时,确实当下是不支持内置HTML帮助器方法的访问的。

  总结

  Razor的@helper语法提供了一种简便的方法来将呈现功能封装到帮助方法中去。您可以在单个视图模板或整个项目的所有视图模板中重用它。

原文地址:http://www.cnblogs.com/webapi/p/5669033.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实现向有序数组中插入一个元素

package cn.jbit.array; import java.util.*;public class Insert {public static void main(String[] args) {//字符排序char[] chars new char[9];chars[0] a;chars[1] c;chars[2] u;chars[3] b;chars[4] e;chars[5] p;chars[6] f;chars[7] z;System.out.print(&quo…

JVM调优总结(5):典型配置

转载自 JVM调优总结(5):典型配置以下配置主要针对分代垃圾回收算法而言。 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的…

html点击弹出iframe,JavaScript:关于跨iframe弹窗

index.htmliframe.html$(function(){$("#window").window({width: 200,height: 100});});效果由于是在iframe中弹窗致使窗口被腰斩,所以需要向window中追加节点再弹窗,解决方式如下var win window.top.document.createElement("div"…

Visual Studio “15”第三个预览版发布

微软发布了Visual Studio 2015后继版本Visual Studio “15” (VS15)的第三个预览版本。目前为止,VS15延续了开发过程的迭代特性,升级了IDE的功能,提供了用户可以修改的C#格式规则以及一个新的异常辅助程序。 经过修改的智能提示弹出框包含了一…

计算一个班的平均分

package cn.jbit.nestedloops; import java.util.Scanner; /*** 计算一个班的平均分*/ public class AvgScore {public static void main(String args[]){int[] score new int[4]; //成绩数组float sum 0.0f; //成绩总和float average 0.0f; //成绩平均值//循环输入学…

IronPython死而复生

IronPython是一个运行在.Net框架通用语言运行库上的实现(Common Language Runtime,CLR)。这个项目曾一度停滞不前,最近,团队换了领导者,带来了新的进展。 Jeff Hardy,IronPython项目的前领导人&…

阳泉2021高考成绩查询时间段,2021年阳泉高考成绩排名及成绩公布时间什么时候出来...

阳泉高考结束后,每年都有很多家长和考试不知道阳泉高考成绩排名如何查询、阳泉高考成绩什么时候公布以及查询方式,本文小编整理了阳泉高考成绩查询排名的相关知识。一、阳泉高考成绩公布时间及查询方式根据往年阳泉高考成绩公布时间预测,2021…

深入JVM——OOM异常解析

转载自 深入JVM——OOM异常解析JVM对象访问解析 对象访问过程的内存情况 public void function(){Object obj = new Object(); }?function方法被执行的时候,JVM在JVM栈中为function创建一个栈帧,用于存放function在运行过程中的一些信息。O…

mvc html.antiforgerytoken,MVC Html.AntiForgeryToken() 防止CSRF***

MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)***的一个措施,它跟XSS(XSS又叫CSS:Cross-Site-Script),***不同,XSS一般是利用站内信任的用户在网站内插入恶意的脚本代码进行***,而CSRF则是伪造成受信任用户对网站进行***…

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步

一、安装Visual Studio Code 安装文件下载地址:VS Code,当前最新版本是1.3。 推荐安装最新版,因为附带Debug插件,支持在vs code上进行断点调试。 二、安装.Net Core 1.0 SDK 安装文件下载地址:.Net Core SDK 三、创建一…

计算机应用基础期中上机考试,期中考试计算机应用基础试卷

中职17计算机1期中考试计算机应用基础试卷一、选择题1.在Excel2010工作簿中,至少应含有的工作表个数是()。A.0B.1C.2D.32.在Excel2010公式中,地址引用E$6是()A.引用绝对地址B.相对地址C.混合地址D.都不是3.在Excel2010默认建立的工作簿中,用户对工作表()。A.可以增加或删除B.不…

java实现打印直角三角形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印直角三角形*/ public class RTriAngle {public static void main(String[] args) {int rows 0; //三角形行数System.out.print("请输入直角三角形的行数:");Scanner input ne…

ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)

前言 在上篇文章中《ASP.NET Core Docker部署》中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程,来保证我们的程序在异常或者是电脑重启的时候仍然能够…

测试OOM异常

转载自 测试OOM异常一、Java堆溢出内存溢出和内存泄露内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。内存泄露:指程序中动态分配内…

html为什么未响应,Word2010总是未响应怎么办?

回答:一、自动恢复尚未保存的修改Word提供了“自动恢复”功能,可以帮助用户找回程序遇到问题并停止响应时尚未保存的信息。实际上,在你不得不在没有保存工作成果就重新启动电脑和Word后,系统将打开“文档恢复”任务窗格&#xff0…

Conway#39;s law(康威定律)

Mel Conway 康威在加利福尼亚理工学院获得物理学硕士学位,在凯斯西储大学获得数学博士学位。毕业之后,他参与了很多知名的软件项目,如 Pascal 编辑器。在他的职业生涯中,康威观察到一个现象:软件团队开发的产品是对公…

java实现打印倒直角三角形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印倒直角三角形*/ public class InvertRTriAngle {public static void main(String[] args) {int rows 0; //三角形行数System.out.print("请输入直角三角形的行数:");Scanner i…

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo

在上一篇里,我已经建立了一个简单的Web-Demo应用程序。这一篇将记录将此Demo程序改造成一个Web Api应用程序。 一、添加ASP.NET Core MVC包 1. 在project.json文件添加Microsoft.AspNetCore.Mvc包 { "version": "1.0.0-*", "buildOptions&…

学院派 实践派 计算机科学与技术,饶旻现场为boss所在企业“挑错”

饶旻,高考数学成绩146分,考研数学成绩145分,用数字告诉boss团自己是智商超过140的高才能求职者,16岁就考上中国人民大学计算机科学与技术本科,现在24的饶旻是中国人民大学网络经济学专业博士在读生,上《非你…

使用Dom4j解析XML

转载自 使用Dom4j解析XMLdom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在Sou…