mvc中@helper的用法
mvc中@helper的用法
mvc中@helper的用法ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外)。当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速、通畅的编码工作流。
与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束。代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码。这种更加简洁、富有表现力的语法更加干净,输入也更快速,有趣。
下面简单介绍Razor中利用@helper语法定义重用的帮助器方法
Razor中的@helper语法让您能够轻松创建可重用的帮助器方法,此方法可以在您的视图模板中封装输出功能。他们使代码能更好地重用,也使代码更具有可读性。
@helper简单实例
在ASP.NET WebSite中,我们一般将公共的方法写到App_Code的类中去达到一种封装和复用。在MVC3中存在helper语法可以达到同样的目的。
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site。css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min。js")" type="text/javascript"></script>
</head>
head部分对Css和Script文件的引用,其中Url.Content()将相对路径转为应用程序的绝对路径,和Server.MapPath()类似。
2、使用helper语法如下
@Css("Site.css")
@Script("jquery-1.5.1.min。js")
@helper Script(string scriptName)
{
<script src="@Url.Content("~/Scripts/" + scriptName)" type="text/javascript"></script>
}
@helper Css(string cssName)
{
<link href="@Url.Content("~/Content/"+cssName)" rel="stylesheet" type="text/css" />
}
3、在项目下新建app_code文件夹
在app_code中新建一个视图文件Content.cshtml,删除里面的Code,并将原Layout.cshtml中的helper部分复制到Content.cshtml下,这是发现Url缺少引用声明。添加@using System.Web.Mvc ,并添加一个的helper参数,如下:
@using System.Web.Mvc
@helper Script(string scriptName,UrlHelper Url)
{
<script src="@Url.Content("~/Scripts/" + scriptName)" type="text/javascript"></script>
}
@helper Css(string cssName, UrlHelper Url)
{
<link href="@Url.Content("~/Content/" + cssName)" rel="stylesheet" type="text/css" />
}
4、Layout.cshtml页面对Css和Scrpt引用
<head>
<title>@ViewBag.Title</title>
@Content.Css("Site.css", Url)
@Content.Script("jquery-1.5.1.min.js", Url)
</head>
热门推荐
- 织梦tag标签怎样设置(织梦dede修改关键字长度的方法)
- elasticsearch数据写入原理(Python对ElasticSearch获取数据及操作)
- SQL中patindex的用法
- vue pdf预览插件(Vue-pdf实现在线预览PDF文件)
- laravel队列失败原理(Laravel第三方包报class not found的解决方法)
- nginx如何代理项目(Nginx代理同域名前后端分离项目的完整步骤)
- 织梦cms漏洞大全(织梦CMS利用php正则让文章的外链自动加nofollow)
- vue实现商品详情讲解(京东 Vue3 组件库支持小程序开发的详细流程)
- html怎么去除css边框(Html/CSS前端实现文字边框阴影效果)
- python 二维数组怎么取第二列(python实现二维数组的对角线遍历)