Question

A few weeks ago, I figured out how to write my own DisplayTemplates and EditorTemplates. I do find them useful as I can write something as this: @Html.DisplayForModel("my_awesome_template") which will display whatever is in the "my_awesome_template" and use the current Model in the View. Fantastic right?

Well, I have written my views in so many different ways, that now I am ending right back to way I first wrote them: Just straight in the View with no partials or templates, and using ViewModels. Why? Because I lack ultimate flexibility and lose consistency. For example: If I had in my DisplayTemplate, @Model.HamSandwhichText, since this is in my template, I can only move it around inside my template and not in the actual View. Technically I could use it directly in the View, but at that point I just broke consistency. This means that the View and the Template both have access to the same thing. I don't like this. I'm assuming since I am using ViewModels I will not have to worry so much about templates.

But, what is the real reason to use a template? I do notice it makes displaying lists a little bit cleaner and easier; but I still don't like it.

Was it helpful?

Solution

There are two reasons to use editor/display templates:

1) Syntax sugar. It helps make your html easier to read by isolating specific chunks of code. Most of my views/layouts are very lightweight due to my usage of:

  • partial views
  • templates
  • sections

2) It makes code more maintainable. Separating your html into concise chunks of code with a purpose can really help you focus on what you're working on. I can easily add/remove/replace entire sections of code with ease.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top