Skip to main content

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.


Comments

Popular posts from this blog

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 )    ...

Get Started with AngularJs using a WebApi backend

AngularJs & WebApi Getting started I'd found it quite a ride converting an .NET MVC3 web app over to Angular, especially with Auth,  the social login flow. So once I did I decided to put up a neatly packaged template on Github to get people started incase these things were holding them up as well. Get Started with my template  https://github.com/warrendodsworth/angular-webapi-start It's a working template app and I'd like to say that I welcome contributions, please keep the code lean and readable. This is a pretty old template now since Angular on Typescript came out. It was fun then and is a lot nicer now with Typescript. MVC3 has moved on to dotnet core for API building. PS I'll be adding to this post to explain the pieces of it a bit more, the same should be visible on the readme on Github.