title: How to get placeholder text in HTML input in a scaffolded view by using Display(prompt) attribute over model class
body: <p>I used <strong>scaffolding to generate the views and controllers</strong> for me and I am using the <strong>EF code first syntax</strong>.</p>
  
  <p>I understand that T4 templates are responsible for implementing the attributes values in the generated HTML/view code, but I don't see the default scaffolding template available with <code>VS 2015 community edition</code> doing anything for placeholder text.</p>
  
  <p>Per my understanding upon decorating a model property with <code>[Display(Prompt="some placeholder text")]</code> attribute results in the <code>some placeholder text</code> being displayed as placeholder for the input text box 
  in the create/edit views.</p>
  
  <p>But to my dismay, this does not happen. </p>
  
  <p>Is there any other attribute? or something else I need to do? or is it because I used scaffolding to generate views? or is the default T4 template not doing its job very well?</p>
  
  <p>My code for model class looks like below:</p>
  
  <pre><code>public class Status
  {
      public int ID { get; set; }
  
      [Required(ErrorMessage ="Status Name is needed!")]
      [Display(Name ="Status Name",Prompt ="Type something here!")]
      public string StatusName { get; set; }
      [Required]
      public string Description { get; set; }
  }
  </code></pre>
  
  <p>Below is the generated view code:</p>
  
  <pre><code>@model LunchFeedback.Models.Status
  
  @{
      ViewBag.Title = "Create";
  }
  
  &lt;h2&gt;Create&lt;/h2&gt;
  
  
  @using (Html.BeginForm()) 
  {
      @Html.AntiForgeryToken()
  
      &lt;div class="form-horizontal"&gt;
          &lt;h4&gt;Status&lt;/h4&gt;
          &lt;hr /&gt;
          @Html.ValidationSummary(true, "", new { @class = "text-danger" })
          &lt;div class="form-group"&gt;
              @Html.LabelFor(model =&gt; model.StatusName, htmlAttributes: new { @class = "control-label col-md-2" })
              &lt;div class="col-md-10"&gt;
                  @Html.EditorFor(model =&gt; model.StatusName, new { htmlAttributes = new { @class = "form-control" } })
                  @Html.ValidationMessageFor(model =&gt; model.StatusName, "", new { @class = "text-danger" })
              &lt;/div&gt;
          &lt;/div&gt;
  
          &lt;div class="form-group"&gt;
              @Html.LabelFor(model =&gt; model.Description, htmlAttributes: new { @class = "control-label col-md-2" })
              &lt;div class="col-md-10"&gt;
                  @Html.EditorFor(model =&gt; model.Description, new { htmlAttributes = new { @class = "form-control" } })
                  @Html.ValidationMessageFor(model =&gt; model.Description, "", new { @class = "text-danger" })
              &lt;/div&gt;
          &lt;/div&gt;
  
          &lt;div class="form-group"&gt;
              &lt;div class="col-md-offset-2 col-md-10"&gt;
                  &lt;input type="submit" value="Create" class="btn btn-default" /&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  }
  
  &lt;div&gt;
      @Html.ActionLink("Back to List", "Index")
  &lt;/div&gt;
  
  @section Scripts {
      @Scripts.Render("~/bundles/jqueryval")
  }
  </code></pre>
  
  <p><strong>Edit:</strong></p>
  
  <p>I am well aware that directly editing the view file and adding a placeholder holder there can do the job.</p>
  
  <pre><code>        @Html.EditorFor(model =&gt; model.StatusName, new { htmlAttributes = new { @class = "form-control", placeholder = "Type something here!" } })
  </code></pre>
  
  <p>But I want to control all things from the model and want to use scaffolding. Preferably even edit/customize T4 template to do so.</p>