Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How access ViewContext from helper/service, @injected via ViewImports

I'm writing helper class and inject in in _ViewImports with

@inject HtmlHelperInject.TestHelper TestHelper

And register in Startup.ConfigureServices with

services.AddTransient<TestHelper>();

How can I obtain ViewContext in this helper class? I tried injecting via controler - not working, via [ViewContext] attribute on property - not working.

like image 289
Dmitry Avatar asked Oct 01 '15 16:10

Dmitry


1 Answers

As of right now (beta8) the way to do this is to implement... wait for it... ICanHasViewContext. This interface adds the following contract:

void Contextualize(ViewContext viewContext);

When injecting your custom utility MVC calls Contextualize and passes in the current ViewContext. Note: this mechanism will most likely change in future releases. If not, the name certainly will :)

Hope this helps!

like image 63
N. Taylor Mullen Avatar answered Nov 03 '22 08:11

N. Taylor Mullen