asp.net - Create/Get DefaultHtmlGenerator from MVC Controller -
i trying create(or instance of somehow) microsoft.aspnet.mvc.rendering.defaulthtmlgenerator inside mvc6 controller method
i wanted generate html validation model self inside controller of asp.net mvc. issue constructor data defaulthtmlgenerator antiforgery, metadataprovider..etc
[httpget] public iactionresult getmarkup() { // ihtmlgenerator ge = this.currentgenerator(); ihtmlgenerator ge = new defaulthtmlgenerator(params); var tag= ge.getclientvalidationrules(params) } here link htmlgenerator class defaulthtmlgenerator
since mvc 6 based on dependency injection, have require ihtmlgenerator in constructor, , di container automatically fill in of dependencies of defaulthtmlgenerator (provided setup in di configuration).
public class homecontroller : controller { private readonly ihtmlgenerator htmlgenerator; public homecontroller(ihtmlgenerator htmlgenerator) { if (htmlgenerator == null) throw new argumentnullexception("htmlgenerator"); this.htmlgenerator = htmlgenerator; } public iactionresult getmarkup() { // use htmlgenerator required. var tag = this.htmlgenerator.getclientvalidationrules(params); return view(); } } that said, appears getclientvalidationrules method designed work within view, since accepts viewcontext parameter. answer question asked.
Comments
Post a Comment