MVC 05 - Tag Helpers 1.mp4 (139.57MB)

环境 Environment

ASPNETCORE_ENVIRONMENT:

  • Development 开发环境
  • Staging 准备上线
  • Production 生产环境

根据环境调用不同的方法:

  • ConfigureServicesDevelopment()
  • ConfigureServicesStaging()
  • ConfigureServicesProduction()

  • ConfigureDevelopment()

  • ConfigureStaging()
  • ConfigureProduction()

根据环境调用不同的 Startup 类:

  • StartupDevelopment
  • StartupStaging
  • StartupProduction

参考 Doc,如需使用不同的 Startup 类,需先在 program 里面稍作修改:

  1. public static void Main(string[] args)
  2. {
  3. CreateWebHostBuilder(args).Build().Run();
  4. }
  5. public static IWebHostBuilder CreateWebHostBuilder(string[] args)
  6. {
  7. var assemblyName = typeof(Startup).GetTypeInfo().Assembly.FullName;
  8. return WebHost.CreateDefaultBuilder(args)
  9. .UseStartup(assemblyName);
  10. }

MVC

  • Controller
  • Action
  • Filter
  • Model Binding
  • Routing
  • Attribute

    Views

  • Shared/_Layout.cshtml 页面

推荐使用鼠标右键 View 添加视图,这样会默认创建在 Views 文件夹下:
image.png

Tag Helpers

  • 对 HTML 友好,只需要些 HTML 代码即可
  • 添加自定义的 TagHelper,继承于 TagHelper
  • 也可以创建全新的 Tag

在 Views 文件夹下创建 _ViewImports.cshtml 以配置引入 Tag Helpers。

  1. @*全局引入所有微软 MVC 提供的 Tag Helpers*@
  2. @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"

Tag Helper 应用

  1. 通过 environment 在不同环境中引用不同 css
  2. 通过 asp-append-version 避免图片缓存的问题 ```html <!DOCTYPE html>

  1. <environment include="Development">
  2. <link rel="stylesheet" asp-href-include="css/*" asp-href-exclude="css/all.min.css" />
  3. <link href="css/site.css" rel="stylesheet" />
  4. </environment>
  5. <environment exclude="Development">
  6. <link rel="stylesheet" asp-href-include="css/all.min.css" />
  7. </environment>

@RenderBody()

  1. Development 环境中对 css 文件的引用:
  2. ```html
  3. <link rel="stylesheet" href="/css/bootstrap.css" /><link rel="stylesheet" href="/css/site.css" />
  4. <link href="css/site.css" rel="stylesheet" />

Staging 环境中对 css 的引用:

  1. <link rel="stylesheet" href="/css/all.min.css" />

源码

CoreDemo.zip