BaseTagHelpers 0.1.1

dotnet add package BaseTagHelpers --version 0.1.1                
NuGet\Install-Package BaseTagHelpers -Version 0.1.1                
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的版本 Install-Package
<PackageReference Include="BaseTagHelpers" Version="0.1.1" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用软件包。
paket add BaseTagHelpers --version 0.1.1                
#r "nuget: BaseTagHelpers, 0.1.1"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用软件包。
// Install BaseTagHelpers as a Cake Addin
#addin nuget:?package=BaseTagHelpers&version=0.1.1

// Install BaseTagHelpers as a Cake Tool
#tool nuget:?package=BaseTagHelpers&version=0.1.1                

BaseTagHelpers

Logo

NuGet NuGet Discord

BaseTagHelpers 是一组 ASP.NET Core Tag Helper 基类,用于从这些类创建 Tag Helper。

安装

您可以通过 NuGet 安装该软件包

dotnet add package BaseTagHelpers

用法

RazorTagHelperBase 没有子内容

RazorTagHelperBase 类是创建渲染 Razor 内容的 Tag Helper 的基类。

public record MyTagHelperModel(string FirstName, string LastName);

MyRazorTagHelper : RazorTagHelperBase
{
  [HtmlAttributeName("model")] public MyTagHelperModel? Model { get; set; }
    
  public MyRazorTagHelper(
    IHtmlHelper htmlHelper
  ) : base(htmlHelper)
  {
  }
    
  public override void Process(TagHelperContext context, TagHelperOutput output)
  {
    SetPartialName(
      "MyRazorTagHelper.cshtml",
      Model
    );
    await base.ProcessAsync(context, output);
  }
}
@model MyTagHelperModel
<div>
  <h1>Hello @Model.FirstName @Model.LastName</h1>
</div>

RazorTagHelperBase 带子内容

public class MyTagHelperModel : IHasChildContent
{
  public string FirstName { get; set; }
  public string LastName { get; set; }
  public string? ChildContent { get; set; }
}

MyRazorTagHelper : RazorTagHelperBase
{
  [HtmlAttributeName("model")] public MyTagHelperModel? Model { get; set; }
    
  public MyRazorTagHelper(
    IHtmlHelper htmlHelper
  ) : base(htmlHelper)
  {
  }
    
  public override void Process(TagHelperContext context, TagHelperOutput output)
  {
    SetPartialName(
      "MyRazorTagHelper.cshtml",
      Model,
      true // Set to true to allow child content
    );
    await base.ProcessAsync(context, output);
  }
}
@model MyTagHelperModel
<div>
  <h1>Hello @Model.FirstName @Model.LastName</h1>
</div>
<div>
  @Html.Raw(@Model.ChildContent)
</div>

ChildContentRazorTagHelperBase

ChildContentRazorTagHelperBase 类是创建渲染子内容且没有模型的 Tag Helper 的基类。

MyChildContentTagHelper : ChildContentRazorTagHelperBase
{
  public MyChildContentTagHelper(
    IHtmlHelper htmlHelper
  ) : base(htmlHelper)
  {
  }
    
  public override void Process(TagHelperContext context, TagHelperOutput output)
  {
    SetPartialName(
      "MyChildContentTagHelper.cshtml"
    );
    await base.ProcessAsync(context, output);
  }
}
@model string

<div>
  @Html.Raw(@Model)
</div>

想要贡献力量吗?

该项目刚刚开始,并需要一些帮助来整理和重构。

如果您想贡献力量 - 我们会很高兴!请先打开一个问题,以便您得到对您的分支的完全信用。您可以先打开一个问题,这样我们就可以讨论,您可以在我们继续的同时进行工作。

如果您发现一个错误,请友好地展示错误的详情,我们将尽力快速修复。

在提交 PR 之前,请 创建一个问题 以引入您的想法,并在 PR 中有一个参考。

我们使用 conventional commits,因此请也在您的提交中使用它。

讨论

如果您想更详细地讨论 BaseTagHelpers 问题或 PR,请随时 开始讨论

您还可以加入我们的Discord服务器来讨论此项目。

许可证

MIT许可(MIT)。有关更多信息,请参阅许可证文件

产品 兼容和额外的计算目标框架版本。
.NET net6.0兼容。 net6.0-android已计算。 net6.0-ios已计算。 net6.0-maccatalyst已计算。 net6.0-macos已计算。 net6.0-tvos已计算。 net6.0-windows已计算。 net7.0兼容。 net7.0-android已计算。 net7.0-ios已计算。 net7.0-maccatalyst已计算。 net7.0-macos已计算。 net7.0-tvos已计算。 net7.0-windows已计算。 net8.0兼容。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。
兼容目标框架
包含的目标框架(在包中)
有关目标框架.NET标准的更多信息。

NuGet包

此包不依赖于任何NuGet包。

GitHub仓库

此包不依赖于任何流行的GitHub仓库。

版本 下载 最后更新
0.1.1 119 2/26/2024
0.1.0 100 2/26/2024
0.0.0-alpha.0 52 2/26/2024