如何使用tagHelper

在Views视图下名为_ViewImports.cshtml的文件加入代码

@addTagHelper *,Mirosoft.AspNetCore.Mvc.TagHelpers;

就可以在页面中添加tagHelper

超链接中添加tagHelper

<div>
    @foreach(var student in Model)
    {
        <div>
            <div>
                姓名:@student.Name
            </div>
            <div>
                id:@student.Id
            </div>
            <a href="/home/Index/@student.Id">点击我</a>
            <a asp-controller="home" asp-action="Index" asp-route-id="@student.Id">点击我(副本)</a>
        </div>
    }
</div>

得到效果
在这里插入图片描述
在这里插入图片描述

图片中添加tagHelper

<div>
    @foreach(var student in Model)
    {
        <div>
            <div>
                姓名:@student.Name
            </div>
            <img src="~/images/OnePiece.jpg"/>
            <img src="~/images/OnePiece.jpg" asp-append-version="true"/>
            <div>
                id:@student.Id
            </div>
            <a href="/home/Index/@student.Id">点击我</a>
            <a asp-controller="home" asp-action="Index" asp-route-id="@student.Id">点击我(副本)</a>
        </div>
    }
</div>

可以看到内容,加了asp-append-versio可以保证,生成唯一的散列值并将其附加到图片的URL。此唯一字符串会提示浏览器从服务器重新加载图片,而不是从浏览器缓存重新加载。只有当磁盘上的文件发生改变时,将会重新计算生成新的哈希值,缓存才会失效
在这里插入图片描述

环境中添加tagHelper

  • 在配置文件中使用‘ASPNETCORE_ENVIRONMENT’变量设置应用程序环境名称
  • environment tag helper支持根据不同的环境加载不同的内容,就是根据自己的环境来加载js和css
<environment include="Development">
        <link rel="stylesheet" 
              integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"
              href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css">
    </environment>
<environment exclude="Development">
        <link rel="stylesheet" 
              integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"
              href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css">
    </environment>
  • "include"属性, 接受将单个环境名称以逗号分割的形式生成列表。
  • “exclude”属性,当托管环境与exclude属性值中列出的环境名称不匹配时,将呈现标签中的内容
<environment include="Development">
        <link rel="stylesheet" 
              integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"
              href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css"
              asp-fallback-href="~/lib/twitter-bootstrap/css/bootstrap.min.css"
              asp-fallback-test-class="sr-only"  
              asp-fallback-test-property="position"
              asp-fallback-test-value="absolute"
              asp-suppress-fallback-integrity="true">
    </environment>
  • 使用asp-fallback-href属性指定回退源
  • 通过将asp-suppress-fallback-integrity属性设置为false,就可以关闭从本地服务器下载的文件完整性检查

表单中添加tagHelper

  • 下面表单提交以后,会进行post请求,并把Name/EmailClassName内容传递过去
  • 如果把Create(Student student) 换成 Create(object student) 收到的会是null,模型绑定是将HTTP请求中的数据映射到控制器操作方法上对应的参数,需要对应的类才能获取到里面的参数
@model Student
.......
<form asp-controller="home" asp-action="create" method="post" >
    <label asp-for="Name" ></label>
    <input asp-for="Name"/>
    <label asp-for="Email" ></label>
    <input asp-for="Email"/>
    <label asp-for="ClassName" ></label>
    <select asp-for="ClassName"></select>
    <button type="submit" class="btn btn-primary">创建</button>
</form>
        [HttpPost]
        public IActionResult Create(Student student)
        {
            Student newStudent = studentRepository.ADDStudent(student);
            return RedirectToAction("details", new { id = newStudent.Id });
        }
        .....
        public class Student
       {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
        public ClassNameEnum ClassName { get; set; }
       }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值