ASP.NET CORE开发之一 标记帮助程序
一、定位点标记帮助程序A元素
属性 | 描述 | 说明 |
asp-controller | 分配用于生成 URL 的控制器 | <a href="/Speaker">All Speakers</a> |
asp-action | 属性值表示生成的 href 属性中包含的控制器操作名称 | <a href="/Speaker/Evaluations">Speaker Evaluations</a> |
asp-route-{value} | 属性可实现通配符路由前缀。 占用 {value} 占位符的所有值都解释为潜在的路由参 | <a href="/Speaker/Detail/12">SpeakerId: 12</a> |
asp-route | 属性用于创建直接链接到命名路由的 URL | [Route("/Speaker/Evaluations", Name = "speakerevals")] public IActionResult Evaluations() => View(); <a asp-route="speakerevals">Speaker Evaluations</a> |
asp-all-route-data | 属性支持创建键值对字典。 键是参数名称,值是参数值。 | @{ var parms = new Dictionary<string, string> { { "speakerId", "11" }, { "currentYear", "true" } }; } <a asp-route="speakerevalscurrent" asp-all-route-data="parms">Speaker Evaluations</a> <a href="/Speaker/EvaluationsCurrent?speakerId=11¤tYear=true">Speaker Evaluations</a> |
asp-fragment | 属性可定义要追加到 URL 的 URL 片段。 定位点标记帮助程序添加哈希字符 (#)。 | <a asp-controller="Speaker" asp-action="Evaluations" asp-fragment="SpeakerEvaluations">Speaker Evaluations</a> |
asp-area | 属性可设置用来设置相应路由的区域名称。 以下示例展示了 asp-area 属性如何导致重新映射路由 | <a href="/Speaker/Evaluations#SpeakerEvaluations">Speaker Evaluations</a> |
asp-protocol | 属性用于在 URL 中指定协议(比如 https | <a href="https://localhost/Home/About">About</a> |
asp-host | 属性用于在 URL 中指定主机名 | <a href="https://microsoft.com/Home/About">About</a> |
asp-page | 属性用于 Razor 页面。 使用它向特定页设置定位点标记的 href 属性值。 通过在页面名称前面使用正斜杠 (“/”) 作为前缀,可创建 UR | <a asp-page="/Attendee" asp-route-attendeeid="10">View Attendee</a> |
asp-page-handler | 属性与页一起使用 Razor 。 它用于链接到特定的页处理程序。 | <a asp-page="/Attendee" asp-page-handler="Profile" asp-route-attendeeid="12">Attendee Profile</a> |
二、缓存标记帮助程序cache元素
属性 | 描述 | 说明 |
enabled | 确定是否缓存了缓存标记帮助程序所包含的内容 | <cache enabled="true"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
expires-on | 为缓存项设置一个绝对到期日期。 | <cache expires-on="@new DateTime(2025,1,29,17,02,0)"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
expires-after | 设置从第一个请求时间到缓存内容的时间长度。 | <cache expires-after="@TimeSpan.FromSeconds(120)"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
expires-sliding | 设置某个缓存项的值未被访问时,该缓存项应被逐出的时间。 | <cache expires-sliding="@TimeSpan.FromSeconds(60)"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
vary-by-header | 接受逗号分隔的标头值列表,在标头值发生更改时触发缓存刷新。 | <cache vary-by-header="User-Agent"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
vary-by-query | 接受查询字符串(Query) 中逗号分隔的 Keys 列表,它们在任何列出的键值发生更改时触发缓存刷新 | <cache vary-by-query="Make,Model"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
vary-by-route | 接受路由参数名称的逗号分隔列表,用于在路由数据参数值发生更改时触发缓存刷新 | <cache vary-by-route="Make,Model"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
cookie | 接受以逗号分隔的名称列表 cookie ,这些名称会在值更改时触发缓存刷新 cookie | <cache vary-by-cookie=".AspNetCore.Identity.Application"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
vary-by-user | 指定当已登录用户(或上下文主体)发生更改时是否应重置缓存 | <cache vary-by-user="true"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
vary-by | 允许自定义缓存的数据。 当属性的字符串值引用的对象发生更改时,会更新缓存标记帮助程序的内容 | <cache vary-by="@Model"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache> |
priority | 为内置缓存提供程序提供缓存逐出指导 | <cache priority="High"> Current Time Inside Cache Tag Helper: @DateTime.Now </cache |
三、分布式缓存标记帮助程序IDistributedCache (暂不介绍)
四、环境标记帮助程序environment
<environment include="Staging,Production"> <strong>IWebHostEnvironment.EnvironmentName is Staging or Production</strong> </environment> <environment exclude="Development"> <strong>IWebHostEnvironment.EnvironmentName is not Development</strong> </environment>
五、图像标记帮助程序
<img src="~/images/asplogo.png" asp-append-version="true">
<img src="/images/asplogo.png?v=Kl_dqr9NVtnMdsM2MUg4qthUnWZm5T1fCEimBPWDNgM">
六、链接标记帮助程序link
属性 | 描述 | 说明 |
href | 链接的资源的首选地址。 在任何情况下,均会将此地址传递到生成的 HTML。 | |
asp-fallback-href | 主 URL 失效后要回退到的 CSS 样式表的 URL。 | |
asp-fallback-test-class | 样式表中定义的用于回退测试的类名称。 有关详细信息 | |
asp-fallback-test-property | 用于回退测试的 CSS 属性名称。 有关详细信息 | |
asp-fallback-test-value | 用于回退测试的 CSS 属性值。 有关详细信息 |
七、部分标记帮助程序
<partial name="Shared/_ProductPartial.cshtml" for="Product">
<partial name="_ProductPartial" model='new Product { Number = 1, Name = "Test product", Description = "This is a test" }'>
八、脚本标记帮助程序script
属性 | 描述 | 说明 |
asp-fallback-test | 主脚本中定义的用于回退测试的脚本方法。 | |
asp-fallback-src | 主 URL 失效后要回退到的脚本标签的 URL。 |