none
MVC - DataType RRS feed

  • Pergunta

  • Pessoal,

    Tenho uma aplicação web onde utilizo MVC 2, com o seguinte código:

    //Modelo
    public class TesteModels
    {
     [Required]
     [DataType(DataType.Text)]
     public string Usuario { get; set; }
    
     [Required]
     [DataType(DataType.Password)]
     public string Senha { get; set; }
    
     [Required]
     [DataType(DataType.MultilineText)]
     public string Obs{ get; set; }
    }
    
    
    //Controle
    public class TipoController : Controller
    {
     // GET: /Tipo/
    
     public ActionResult Index()
     {
      return View();
     }
    
     public ActionResult Teste()
     {
      return View();
     }
    
     [HttpPost]
     public ActionResult Teste(TesteModels modelo)
     {
      if (ModelState.IsValid)
      {
       return RedirectToAction("Index", "Home");
      }
    
      return View(modelo);
     }
    }
    
    //View
    <% using (Html.BeginForm()) {%>
     <%: Html.ValidationSummary(true) %>
    
     <fieldset>
      <legend>Fields</legend>
       
     <div class="editor-label">
      <%: Html.LabelFor(m => m.Usuario) %>
     </div>
     <div class="editor-field">
      <%: Html.TextBoxFor(m => m.Usuario) %>
      <%: Html.ValidationMessageFor(m => m.Usuario) %>
     </div>
       
     <div class="editor-label">
      <%: Html.LabelFor(m => m.Senha) %>
     </div>
     <div class="editor-field">
      <%: Html.TextBoxFor(m => m.Senha) %>
      <%: Html.ValidationMessageFor(m => m.Senha) %>
     </div>
    
     <div class="editor-label">
      <%: Html.LabelFor(m => m.Obs) %>
     </div>
     <div class="editor-field">
      <%: Html.TextBoxFor(m => m.Obs) %>
      <%: Html.ValidationMessageFor(m => m.Obs) %>
     </div>
       
      <p>
       <input type="submit" value="Create" />
      </p>
     </fieldset>
    
    <% } %>



    Mas quando carrego a pagina, os campos usuário, Senha e OBS não estão de acordo com o DataType configurado, todos estão como texto, mas o campo Senha deveria estar como password, e o Obs como multiline.

    O que devo fazer para que o campos fiquem de acordo com o DataType informado ?

    Abs,

    • Editado Daylon Mauck sexta-feira, 4 de fevereiro de 2011 19:50 Corrigindo o codigo, porque ficou ruim de vizualizar.
    sexta-feira, 4 de fevereiro de 2011 19:47

Respostas

  • Pessoal,

    Solucionei o problema utilizando "Html.EditorFor" ao invés de "Html.TextBosFor" na minha View.

    Se não for a solução correta, por favor, me avisem.

    Obrigado,

    Abs

    • Marcado como Resposta Daylon Mauck segunda-feira, 7 de fevereiro de 2011 11:59
    sexta-feira, 4 de fevereiro de 2011 21:38
  • Fala Daylon,

    É exatamente assim, era o que eu ia responder, mas você foi mais rápido... ;)

     


    Forte abraço,

    André Borges Medeiros
    MCT, MCPD, MCTS

    Procurando treinamento de ASP.NET MVC?

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    • Marcado como Resposta Daylon Mauck segunda-feira, 7 de fevereiro de 2011 11:59
    domingo, 6 de fevereiro de 2011 15:22
    Moderador

Todas as Respostas