[HtmlTargetElement("navigationmenu", TagStructure = TagStructure.WithoutEndTag)] public class NavigationMenuTagHelper : TagHelper { private readonly IConfiguration _configuration; public NavigationMenuTagHelper(IConfiguration configuration) { _configuration = configuration; } public string MenuName { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output) { /* Suppress the tag then select navigation menu from db */ output.SuppressOutput(); /* Connect to layout DB */ SqliteConnection layconn = new SqliteConnection(_configuration.GetConnectionString("LayConn")); layconn.Open(); SqliteDataReader r = layconn.RunReader("SELECT HTML FROM MenuHTMLView WHERE MenuName = @x0", MenuName); while (r.Read()) output.PostElement.AppendHtml(r.GetString(0)); r.Close(); layconn.Close(); } }
<div class="collapse navbar-collapse" id="navbarCollapse"> <ul class="navbar-nav mr-auto"> <li class="nav-item"><a class="nav-link" asp-page="/Index">Home</a></li> </ul> </div>
<div class="collapse navbar-collapse" id="navbarCollapse"> <ul class="navbar-nav mr-auto"> <li class="nav-item"><a class="nav-link" href="/Index">Home</a></li> </ul> </div>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)