I’m using ASP.NET MVC3 with razor engine.I want to apply css class on body tag according to page call.
I want to add class name in child page and it will affect on layout page which has body tag.
and don’t want to use jquery because it execute after page render.
How can i do this?
I’m using ASP.NET MVC3 with razor engine.I want to apply css class on body
Share
First of all jQuery’s .ready function executes after the DOM is available so it’s the optimal moment to start interaction with your page’s elements. ( http://api.jquery.com/ready/ ) If you experience a behavior that results in styles ‘flicker’ you may wan’t to apply display:none to body element, and removing it after you css class has been applied.
but if you really don’t want to use jQuery you should consider either making a variable to hold your css class name as a part of a viewmodel your controller will be sending to Views, or going with ViewBag.CssClass that should be declared in each of your controller’s actions (or in base controller’s OnActionExecuting method.
Thing to consider here is understanding and following MVC pattern, where View and Business Logic should be separated. So in my opinion you should rather avoid involving controllers in view building process.