Skip to main content

Posts

Showing posts from 2015

MVC Value Providers - Cookie Value Providers

Asp.NET MVC -  Value providers What are value providers? A Value provider is a class that ties into the request pipeline and gets values out for you, now this is fine for simple requests like when someone submits a form on your site.  The built in one is quite powerful and covers simple data types all the way to creating models for you. But what if you require a value that's not part of the form data or the query string, for example a header or a cookie. Then you'll need to find or write a custom value provide r to get one of these values in your action. So today we're going to build a Cookie Value provider public class HttpCookieValueProvider : System.Web.Mvc.IValueProvider     {         private ControllerContext _context;         public HttpCookieValueProvider ( ControllerContext context )         {             if ( context == null )    ...

Passing Additional View Data to a DisplayTemplate

Passing additional ViewData Asp.NET MVC Now as the name suggests, ViewData might get you thinking about just that. Whereas there's a quite simple way to get your extra data across to a Display or Editor Template . This time the simplest answer is the one, though not the obvious one. Pass across your additionalViewData like you normally would @Html.DisplayFor( modelItem => item.ImageId, new { Class = "thumb-sm" } ) Then access if from your template using a simple ViewBag dynamic object. File Path /Views/Shared/DisplayTemplates/TemplateName.cshtml In this case we're passing along an additional class intended to allow us to control the size of the image rendered on the page. Haven't tried this in older versions of MVC, this will work in 4 & 5 Hope this helps someone, thought I'd put it up here as I forgot and spent a few minutes searching my code for the answer.  Thanks for reading.