4

I want to set a new class for this part of my code, but it doesn't work correctly

@Html.DisplayFor(model => model.melk.Code, new { @class = "myClass" } )

Can anyone tell me where am I wrong?

2 Answers 2

10

Boris showed you the correct overload, but there is also the dead simple way to just change it to:

<span class="myClass">
    @Html.DisplayFor(model => model.melk.Code)
</span>

Personally, I find it simpler, so easier to remember and maintain, even if it's not so framework-specific.

Sign up to request clarification or add additional context in comments.

Comments

3

The DisplayExtensions.DisplayFor overload that you are using will find the DisplayTemplate based on the type of the model.melk.Code and the last parameter (anonymous object new { @class = "myClass" } will be passed to the template's ViewData. You have to use that ViewData in the corresponding template in order for it to work.

<div class="@(ViewData["class"])"...

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.