I have some tabs in bootstrap which has to be set as active depending on the action being hit. I have sub-tabs as well which has to be set as active depending on the action being hit as well.
Here is an image of how it looks like:
So when a sub-tab is being active the parent tab has to be active too.
So I thought to create a new Attribute where I save a pageId for each action and depending on the pageId on the view I can set it to active or not:
Here is the attribute:
public class YcoPageId : Attribute
{
    public YcoPageId(int pageId)
    {
        PageId = pageId;
    }
    public int PageId { get; } 
} 
Here is the action:
[YcoPageId(1)]
public ActionResult Admin()
{
    return View();
}
For the view I want to create an extension method to see if the tab and sub-tabs shall be active or not!
Here is my code:
public static bool IsActive(this HtmlHelper htmlHelper, params int[] ids)
{
    var viewContext = htmlHelper.ViewContext;
    var action = viewContext....
    //How to get the YcoPageId attribute from here and see the Id
    //Here i will test if ids contain id but dont know how to get it...
}
If you think adding an id for each page is bad idea I think for my case I will use this id for other purposes as well because it will be like identifier for a specific action...
So my question is how can I get the attribute YcoPageId for current action in my extension method ?
The view will look like this:
<li class="@(Html.IsActive(1, 4, 5... etc)? "active" : "")">
    <a href="@url">
        <div class="row text-center">
            <div class="col-md-12">
                <i class="fa @fontAwesomeIcon fa-4x" aria-hidden="true"></i>
                <br/>@menuName
            </div>
        </div>
    </a>
</li>
If there is any better idea how to solve this issue please go ahead!

 
     
    