Html.Label to display email address

前端 未结 3 1395
悲哀的现实
悲哀的现实 2020-12-11 06:08

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 =         


        
相关标签:
3条回答
  • 2020-12-11 06:22

    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

    Html.LabelFor(model => model.CopyToEmail)
    

    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

    public static MvcHtmlString Label(
        this HtmlHelper html,
        string expression,
        string labelText
    )
    

    //

    Html.LabelFor(model => model.CopyToEmail, Model.CopyToEmailLabelText)
    
    0 讨论(0)
  • 2020-12-11 06:32

    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:

    @Model.CopyToEmail
    

    You can also call @Html.DisplayFor(m => m.CopyToEmail).

    0 讨论(0)
  • 2020-12-11 06:44

    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)

    0 讨论(0)
提交回复
热议问题