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>
热门推荐
- 虚拟主机哪里有免备案(免备案云主机的真假鉴别)
- iis部署后浏览没有主界面(IIS 浏览aspx页面出现无法显示XML页的解决方法分享)
- pythonpil安装包(基于Python的PIL库学习详解)
- yii框架的常用组件使用(Yii框架的布局文件实例分析)
- vue身份验证(详解vue身份认证管理和租户管理)
- 怎么把jar包部署到tomcat(使用tomcat设定shared lib共享同样的jar)
- docker开源软件(5款超好用的开源 Docker工具强烈推荐)
- mysql查询很慢怎么回事(MySQL Like模糊查询速度太慢如何解决)
- vue创建dom节点(Vue批量更新dom的实现步骤)
- SQL Server 各个版本支持的功能