I am attempting to create a custom ActionFilterAttribute as shown. The attribute will only contain a property of Path.
public class TestLinkAttribute : ActionFilterAttribute
{
public string Path { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
}
}
I would like to be able to access this attribute on the help pages area that web api integrates similar to this.
<td class="api-testLink">
@{
var attrColl = api.ActionDescriptor.GetCustomAttributes<TestLinkAttribute>();
if(attrColl.Count > 0)
{
<p>@attrColl[0].Path</p>
}
}
</td>
I decorated the action like this.
[TestLink(Path = "api/surveys/72469282/responses")]
public string GetQuestions(int id)
{
}
This is completely new territory to me and i have done a bit of research but can't / don't know if there is a quick way to accomplish this. Currently the output is empty as the attribute collection is never > 0
After further research, you must inherit from System.Web.Http.Filters when you create the custom attribute with a controller inheriting from ApiController. I was inheriting from the standard mvc ActionFilterAttribute from MVC namespace (System.Web.MVC).
Now when i access the attribute from the ApiGroup.cshtml in the HelpPage area, i can use the following it it will properly obtain the value.