{"id":22801086,"url":"https://github.com/iowacomputergurus/aspnetcore.utilities.bootstrap5taghelpers","last_synced_at":"2025-07-20T09:03:20.749Z","repository":{"id":65333112,"uuid":"584834370","full_name":"IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers","owner":"IowaComputerGurus","description":"A collection of Tag Helpers for working with ASP.NET and Bootstrap5","archived":false,"fork":false,"pushed_at":"2025-04-28T03:06:07.000Z","size":1237,"stargazers_count":9,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-05-20T06:07:58.886Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IowaComputerGurus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["iowacomputergurus","mitchelsellers"]}},"created_at":"2023-01-03T16:26:44.000Z","updated_at":"2025-03-11T23:34:21.000Z","dependencies_parsed_at":"2025-01-14T04:43:35.572Z","dependency_job_id":"a260be9d-19b1-486e-ab2b-961839a52f7b","html_url":"https://github.com/IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.bootstrap5taghelpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.bootstrap5taghelpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.bootstrap5taghelpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.bootstrap5taghelpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IowaComputerGurus","download_url":"https://codeload.github.com/IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.bootstrap5taghelpers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259910015,"owners_count":22930669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T08:08:56.923Z","updated_at":"2025-06-15T01:39:15.085Z","avatar_url":"https://github.com/IowaComputerGurus.png","language":"C#","funding_links":["https://github.com/sponsors/iowacomputergurus","https://github.com/sponsors/mitchelsellers"],"categories":[],"sub_categories":[],"readme":"# AspNetCore Bootstrap5 Tag Helpers ![](https://img.shields.io/github/license/iowacomputergurus/aspnetcore.utilities.bootstrap5taghelpers.svg)\n\nA collection of TagHelpers for ASP.NET Core that make utilizing the Bootstrap 5.x library easier to use for developers.  Designed to reduce code effort substantially\n\n![Build Status](https://github.com/IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers/actions/workflows/ci-build.yml/badge.svg)\n\n![](https://img.shields.io/nuget/v/icg.aspnetcore.utilities.bootstrap5taghelpers.svg) ![](https://img.shields.io/nuget/dt/icg.aspnetcore.utilities.bootstrap5taghelpers.svg)\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/6bfab3e64b8d4138aefc6152d39bd753)](https://app.codacy.com/gh/IowaComputerGurus/aspnetcore.utilities.bootstrap5taghelpers/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n\n## Usage Expectations\n\nThese tag helpers are only for markup display, your web project must properly include references to Bootstrap and must abide by all license and other requirements of Bootstrap for the functionality to be utilized here.  For more on how to include Bootstrap within your project please reference their documentation.\n\n\n## Setup - Registering TagHelpers\n\nYou must modify your `_viewimports.cshtml` file by adding\n\n``` html+razor\n@addTagHelper *, ICG.AspNetCore.Utilities.Bootstrap5TagHelpers\n```\n\n## Usage\n\nThe goal of these tag helpers is to reduce the redundant coding, and compliance with various features of not only the Bootstrap library but form patterns.  Within the \"Sample\" project you will find examples of all tag helper usage.  However, the below shows a quick example of the power of these tag helpers.\n\n### Before Bootstrap 5 Tag Helper\n\nThe following markup is how you would output a model-bound field for a password field, including a note on complexity and validation.\n\n``` razor\n\u003cdiv class=\"mb-3\"\u003e\n    \u003clabel asp-for=\"Password\" class=\"form-label\"\u003e\u003c/label\u003e\n    \u003cinput asp-for=\"Password\" class=\"form-control\" /\u003e\n    \u003cspan asp-validation-for=\"Password\" class=\"text-danger\"\u003e\u003c/span\u003e\n    \u003cdiv class=\"form-text text-muted\"\u003eMust be 8 characters with letters \u0026 numbers\u003c/div\u003e\n\u003c/div\u003e\n```\n\nThis is a total of *306* characters with spaces or *268* without.  Granted we get some help with auto-complete etc.\n\n### After Using Bootstrap 5 Tag Helper\n\nYou can take the entire above example and simplify it to the following\n\n``` razor\n\u003cform-text-input asp-for=\"Password\"\u003e\n    \u003cform-note\u003eMust be 8 characters with letters \u0026 numbers\u003c/form-note\u003e\n\u003c/form-text-input\u003e\n```\n\nThis is a total of *126* characters with spaces or *112* without.  With intellisense, the actual typing characters are much less.  Your form view is also substantially reduced, making lines of code per form reduced.  For forms without notes the markup improvement is even better.\n\n\n## Included Tag Helpers\n\nAt this time tag helpers have been implemented for the following elements.\n\n| Element | Description of Implementation |\n| --- | --- |\n| Accordion | Full support for implementation of accordion, including stay-open modes |\n| Alerts | Full support for implementation of alerts, including dismissible alerts |\n| Badges | Full support for implementation of badges of all Bootstrap color variations |\n| Buttons | Full support for implementation of buttons of all Bootstrap color variations, including outlines |\n| Cards | Support for Card, Card Header, Card Header Actions, and Card body elements |\n| Environment Alert | An extension of the `\u003cenvironment\u003e` tag helper to render as an alert style |\n| Input | Support for Form input controls for anything tied to the `\u003cinput\u003e` tag including ASP.NET Code Model Binding \u0026 Validation |\n| Modals | Support for modal dialogs, including Modal Body, header, footer, dismiss, and toggles |\n| Offcanvas | Full support for implementation of offcanvas display, including sizing/placement |\n| TextArea | Support for Form input controls tied to the `\u003ctextarea\u003e` tag including ASP.NET Core Model Binding \u0026 Validation | \n\nIf you find that we are missing a particular tag helper, we welcome contributions!\n\n## Special Features\n\nThe tag helpers automatically inspect form elements and add a \"required\" css class in addition to the `form-label` class default allowing for indication of required fields easily with CSS such as the following.\n\n```` css\nlabel.required:after {\n    content: \" *\";\n    color: red;\n}\n````","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.bootstrap5taghelpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.bootstrap5taghelpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.bootstrap5taghelpers/lists"}