关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍

上传人:第*** 文档编号:32632724 上传时间:2018-02-12 格式:DOC 页数:16 大小:112.50KB
返回 下载 相关 举报
关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍_第1页
第1页 / 共16页
关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍_第2页
第2页 / 共16页
关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍_第3页
第3页 / 共16页
关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍_第4页
第4页 / 共16页
关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍》由会员分享,可在线阅读,更多相关《关于taghelper那些事情——microsoft.aspnet.mvc.taghelpers介绍(16页珍藏版)》请在金锄头文库上搜索。

1、写在开始在上一篇文章中,简单介绍了什么是 TagHelper,怎么使用它。接下来我会简单介绍一下微软随着ASP.NET5 一起发布的 TagHelpers。它们分别是:1. AnchorTagHelper2. CacheTagHelper3. EnvironmentTagHelper4. InputTagHelper5. LabelTagHelper6. SelectTagHelper7. OptionTagHelper8. TextAreaTagHelper9. ValidationMessageTagHelper10. ValidationSummaryTagHelper11. FormT

2、agHelper12. LinkTagHelper13. ScriptTagHelperAnchorTagHelper这个 TagHelper 被应用在所有锚元素上,它拥有一下属性: asp-action指定 action 方法名。 asp-controller指定 controller 名。 asp-fragment指定 URL 片段名。 asp-host指定访问的主机(host)名。 asp-protocol指定访问协议,比如 http 或者 https。 asp-route指定路由名。最终这个 TagHelper 会被解析成具有 href 属性的锚元素,这个 href 的内容就是基于以上

3、这些属性的值生成的。?1Create NewCacheTagHelper应用在 cache 元素上,使用 IMemoryCache 实例来缓存 cache 元素内容在当前进程的内存中。它支持下面的属性: vary-bystring 类型,TagHelper 将基于该值来缓存内容,该值会被用来生成 cache key。 vary-by-headerstring 类型,指定请求头(request header),只能指定单个头名 (header name),TagHelper将基于该值来缓存内容,该值会被用来生成 cache key。 vary-by-querystring 类型,指定请求参数,当

4、有多个请求参数时,以逗号分隔。TagHelper 将基于它来缓存内容,该值会被用来生成 cache key。 vary-by-routestring 类型,指定路由数据参数,当有多个路由数据参数时,以逗号分隔。TagHelper 将基于它来缓存内容,该值会被用来生成 cache key。 vary-by-cookiestring 类型,指定 cookies 名,当有多个 cookies 时,以逗号分隔。 TagHelper 将基于这些 cookies 名来缓存内容,该值会被用来生成 cache key。 vary-by-userbool 类型,指定是否为每个登陆的用户使用缓存,用户信息被用来生

5、成 cache key。 expires-onDateTime 类型,指定缓存失效的时间。 expires-afterTimeSpan 类型,指定经过多少时间,缓存失效,这个时间是从加入缓存开始计时。 expires-slidingTimeSpan 类型,指定缓存没被使用后经过多少时间失效。 priorityenum 类型,具有以下可能的值: CachePreservationPriority.Low CachePreservationPriority.Normal CachePreservationPriority.High CachePreservationPriority.NeverRe

6、move存储在 IMemoryCache 实例中的缓存受限于当前可用内存。如果当服务器将要内存溢出时,内存 cache 就会清除缓存来释放内容。此时,我们可以用这个属性来指定当前缓存的优先级,这样内存在释放时就会考虑释放优先级低的缓存。EnvironmentTagHelper应用在 environment 元素上,根据不同的 names 的设置有条件的 render 不同的内容。它支持以下属性: names指定环境名,当有多个时候以逗号分隔。这里判断的依据是,读取 IHostingEnvironment 的 EnvironmentName 的值,与 environment 元素中的 names

7、 匹配,当匹配上的时候就 render 出里面的内容,否则移除该 environment 元素。在很多情况下,我们想再开发环境使用一套配置信息,在生产环境又是另外一套,这时候就需要使用条件判断语句了,不过在新版的 MVC 中,使用 EnvironmentTagHelper 提供的 Environment 元素标签就可以了,示例如下:?123456789101112131415在上述代码中,我们定于,如果是 Development 环境就使用本地的 js 文件,否则(Staging 或 Production 环境)就先加载 cdn 的文件。InputTagHelper这个 TagHelper 被

8、应用在 input 元素上,与 HtmlHelpers 中的 TextBoxForHTML 一样,这个 TagHelper 会生成一个绑定到 model 中某个字段的 Input 元素。它支持一下属性: asp-for asp-formatasp-for 用来指定绑定 model 哪个字段到 TagHelper 上,很多其他的 TagHelpers 也具有这个属性。asp-format 用来设置显示的 Format,通常被用来给货币、日期与时间类型的值设置 Format,比如,Birthday 是 model 里的一个日期类型的字段。?1注意: asp-for 的类型 ModelExpress

9、ion 是 ASP.NET MVC 6 里面新定义的一个类,其构造函数带有一个字符类型的参数,用来指定 Model 中字段的名字。我们也可以把一个内嵌对象赋给 asp-for,比如:?1LabelTagHelper与 HtmlExtension.LabelFor 功能一样,它只有一个属性 asp-for,用来指定绑定 Model 里某个字段。它作用在 label 元素上。?1SelectTagHelperSelectTagHelper 作用在 Select 元素上,支持 asp-for 与 asp-items 属性。asp-for 与我们上面介绍的一样,用来绑定 model 中某个字段。asp

10、-items,被用来指定 Select 元素的 Option 集合,它的值类型是 IEnumerable。?1如果要在 Select 中添加一个默认选择的项,我们可以这样做:?123Choose Country我们可以赋任何类型是 IEnumerable的实例给 asp-items,可能是某个变量或者某个实例的一个属性等。比如:?12345678SelectListItem items =new SelectListItem() Text = item 1 ,new SelectListItem() Text = item 2 ;OptionTagHelper应用在 option 元素上,与

11、select 元素一起使用,通常被用来读取 option 元素信息,而不改变元素内容。唯一可能修改的是在有的情况下,会根据父亲 select 元素将 option 的 selected 状态设成selected。?123Choose CountryTextAreaTagHelper应用在 textarea 元素上,目前只支持唯一一个属性 asp-for,?1ValidationMessageTagHelper与 HtmlHelper 中的 ValidationMessageFor 一样,这个 TagHelper 是用来显示验证失败信息。它应用在 span 元素上,而且只有唯一的一个属性 asp

12、-validation-for,被用来指定所验证的对象-Model 中某个字段。?12ValidationSummaryTagHelper像 HTMLHelper 扩展的 ValidationSummary 一样,它是用来验证错误的汇总信息。它只支持一个属性 asp-validation-summary,具有以下几种值: None不显示任何验证信息 ModelOnly只显示 Model 错误信息,不包括属性错误信息 All显示所有信息它应用在 div 元素上,?1FormTagHelper与 HtmlHelper 中的 BeginForm 一样,它用来生成一个 form 元素,它应用在 for

13、m 元素上,支持以下属性: asp-action asp-controller asp-anti-forgery?1LinkTagHelper应用在 link 元素上,支持备用的样式文件。它具有以下属性: href指定样式资源的链接地址。 asp-href-include指定所有需要被加载的样式文件路径格式,当有多个时,以逗号来分隔每一个;这里的路径是相对于应用程序中 wwwroot 的相对路径。 asp-href-exclude指定那些不需要被加载的样式文件路径格式,当有多个时,以逗号来分隔每一个;这里的路径是相对于应用程序中 wwwroot 的相对路径。 asp-fallback-href

14、指定备用资源链接地址。 asp-fallback-href-include指定所有需要被加载的备用样式文件路径格式,当有多个时,以逗号来分隔每一个;这里的路径是相对于应用程序中 wwwroot 的相对路径。 asp-fallback-href-exclude指定那些不需要被加载的备用样式文件路径格式,当有多个时,以逗号来分隔每一个;这里的路径是相对于应用程序中 wwwroot 的相对路径。 asp-fallback-test-class用来检测加载失败的样式名。 asp-fallback-test-property用来检测资源加载失败所用的测试属性。 asp-fallback-test-val

15、ue用来检测资源加载失败所用的测试值。 asp-file-versionbool 值,用来指定是否需要将文件版本信息加入到 url 地址中。例如,在下面例子中,当从网络上(http:/ carousel-caption 中 display 属性是否是 none 来判断网络上样式文件是否加载成功。?12345ScriptTagHelper应用在 script 元素上,与 LinkTagHelper 一样,它也具有 fallback 功能, 只不过这里判断的不是class 样式,而是检测某个对象是否存在,来判断默认的 js 文件是否加载成功。它支持以下属性: src指定要加载的 js 源地址。 asp-src-include指定要加载的 js 文件格式,当有多个文件格式时以逗号分隔。这里文件路径是相对于程序 webroot的相对路径。 asp-src-exclude指定不需要加载的 js 文件格式,当有多个文件格式时以逗号分隔。这里文件路径是相对于程序 webroot 的相对路径。 asp-fallback-src指定备用的 js 源地址。 asp-fallback-src-include指定需要加载的备用 js 文件格式,当有多个文件格

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号