I am using Html.Label to display some data in my MVC applilcation. When I am trying to display email address it does not render properly
Model.CopyToEmail = lab@gmail.com
@Html.Label((string)(Model.CopyToEmail))
but the rendered output that i see is
com
Could anyone please suggest how to display using Html.Label
lab@gmail.com
Html.Label
takes a field to display a<label>
tag for.It's reading your string as a nested property, and printing the name of the innermost property.
You just want to write ordinary text:
You can also call
@Html.DisplayFor(m => m.CopyToEmail)
.Can you please look at the model OR your data source to the view to return the property value: i.e. like,
Html.Encode(Model.Email)
Using strongly typed views (passing viewmodels to views, and not using ViewBag/ViewData) is good practice, and allows you to use generic overloads of html helpers. Here is your example rewritten using strongly typed html helper
And label in html is not there to display data, it is there to label property being edited. You could use [DisplayAttribute] on your property, or use this overload
//