none
DropDownList RRS feed

  • Pergunta

  • Boa tarde gurizada sou novo por aqui e dei uma boa pesquisada e não achei nada que me ajudasse então lá vai

    tenho uma clase onde coloco os metodos para popular os dropdownlist:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using Academia.Modelos;
    using Academia.Repositorio;
    using System.Web.WebPages.Html;
    using Academia.Interface;
    
    namespace Academia.Utilitarios
    {
        public class DropDownList
        {
            public List<SelectListItem> DropDownListObjetivo(int id)
            {
                List<SelectListItem> l = new List<SelectListItem>();
                foreach (var i in new ObjetivoRepositorio().Consulta(x => x.FlgAtivo == true))
                    l.Add(new SelectListItem() { Text = i.Descricao, Value = i.ObjetivoId.ToString() });
    
                return l;
            }
    }

    ok, até ai funciona lega, porém na view da um erro:

    @Html.DropDownListFor(model => model.ObjetivoId, new Academia.Utilitarios.DropDownList().DropDownListObjetivo(0), "Selecione", "")

    system.web.mvc.htmlhelper <academia.modelos.aluno> ' does not contain a definition for 'DropDownListFor'

    desculpe se estou fazendo algo de errado, realmente sou novo em fóruns, mas não consigo entender este erro, até pq já usei da mesma forma e um outro projeto e funcionou normalmente, obrigado

    sábado, 29 de dezembro de 2012 16:05

Respostas

  • Valew pela ajuda Paulo, consegui resolver trocando na classe DropDownList esta linha

    using System.Web.WebPages.Html;

    por esta

    using System.Web.Mvc;

    ai ficou ok, muito obrigado mesmo pela atenção.


    • Editado Rafabiel quarta-feira, 2 de janeiro de 2013 23:34
    • Marcado como Resposta Rafabiel quarta-feira, 2 de janeiro de 2013 23:35
    quarta-feira, 2 de janeiro de 2013 23:34

Todas as Respostas

  • Quando vc debuga, quando ele vai retornar o "I", tem alguma coisa nele?

    Paulo Marcelo Dalbosco

    domingo, 30 de dezembro de 2012 20:00
  • Verifica se no teu web.config contêm isso:

    <system.web>
        <pages>
          <namespaces>
            <add namespace="System.Web.Mvc.Html" /> <!-- contêm essa linha? se não tem, então adiciona ela -->
          </namespaces>
        </pages>
    </system.web>


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    domingo, 30 de dezembro de 2012 20:27
  • Murilo Kunze, ele tem essa linha sim, e Paulo M Dalbosco não consigo debugar pq ele não chama o metodo, da erro quando tento acessar a view.


     
    segunda-feira, 31 de dezembro de 2012 19:26
  • Coloca o código da sua view ae!

    Se vc comenta este trecho do código sua view abre?


    Paulo Marcelo Dalbosco

    segunda-feira, 31 de dezembro de 2012 20:18
  • sim roda normalmente e quando descomente da este erro, https://portal.bitcasa.com/send/1d46547b9039c8bcb1201446b0717799898c344579dafea9eed0322384694061/b735f1f5224ff3d222d13f5c6f36b6d7fb0d8e0e03c082cc0badd0f217ed7c36

    não consegui anexar a imagem aqui, por isso compartilhei pelo bitcasa

    segunda-feira, 31 de dezembro de 2012 21:33
  • Segue o código da view

    @model Academia.Modelos.Aluno 
    @{
        ViewBag.Title = "Incluir";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    <h2>Incluir</h2>
    
    @using (Html.BeginForm()) {
        @Html.ValidationSummary(true)
    
        <fieldset>
            <legend>Aluno</legend>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.ObjetivoId)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.ObjetivoId)
                @Html.DropDownListFor(model => model.ObjetivoId, new Academia.Utilitarios.DropDownList().DropDownListObjetivo(0), "Selecione", "")
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.ProfissaoId)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.ProfissaoId)
                @Html.ValidationMessageFor(model => model.ProfissaoId)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Personal)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Personal)
                @Html.ValidationMessageFor(model => model.Personal)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.FuncionarioId)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.FuncionarioId)
                @Html.ValidationMessageFor(model => model.FuncionarioId)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.SoubeAcademia)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.SoubeAcademia)
                @Html.ValidationMessageFor(model => model.SoubeAcademia)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Obs)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Obs)
                @Html.ValidationMessageFor(model => model.Obs)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.RecebeSms)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.RecebeSms)
                @Html.ValidationMessageFor(model => model.RecebeSms)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.RecebeEmail)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.RecebeEmail)
                @Html.ValidationMessageFor(model => model.RecebeEmail)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Credito)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Credito)
                @Html.ValidationMessageFor(model => model.Credito)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Liberado)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Liberado)
                @Html.ValidationMessageFor(model => model.Liberado)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.NomeCompleto)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.NomeCompleto)
                @Html.ValidationMessageFor(model => model.NomeCompleto)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.DataNascimento)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.DataNascimento)
                @Html.ValidationMessageFor(model => model.DataNascimento)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Sexo)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Sexo)
                @Html.ValidationMessageFor(model => model.Sexo)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.EstadoCivil)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.EstadoCivil)
                @Html.ValidationMessageFor(model => model.EstadoCivil)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.NomeRazaoSocial)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.NomeRazaoSocial)
                @Html.ValidationMessageFor(model => model.NomeRazaoSocial)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.DataCadastro)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.DataCadastro)
                @Html.ValidationMessageFor(model => model.DataCadastro)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.DataUltimaModificacao)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.DataUltimaModificacao)
                @Html.ValidationMessageFor(model => model.DataUltimaModificacao)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.Email)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Email)
                @Html.ValidationMessageFor(model => model.Email)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.EmailSecundario)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.EmailSecundario)
                @Html.ValidationMessageFor(model => model.EmailSecundario)
            </div>
    
            <div class="editor-label">
                @Html.LabelFor(model => model.FlgAtivo)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.FlgAtivo)
                @Html.ValidationMessageFor(model => model.FlgAtivo)
            </div>
    
            <p>
                <input type="submit" value="Create" />
            </p>
        </fieldset>
    }
    
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
    
    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
    }
    


    terça-feira, 1 de janeiro de 2013 02:52
  • Vc tem outros DropDown em sua aplicação? Estão funcionando?

    Olhando assim não identifiquei nada errado.


    Paulo Marcelo Dalbosco

    quarta-feira, 2 de janeiro de 2013 13:14
  • ao invéz de usar o DropdownListFor, use apenas o DropDownList.

    Paulo Marcelo Dalbosco

    quarta-feira, 2 de janeiro de 2013 13:16
  • Valew pela ajuda Paulo, consegui resolver trocando na classe DropDownList esta linha

    using System.Web.WebPages.Html;

    por esta

    using System.Web.Mvc;

    ai ficou ok, muito obrigado mesmo pela atenção.


    • Editado Rafabiel quarta-feira, 2 de janeiro de 2013 23:34
    • Marcado como Resposta Rafabiel quarta-feira, 2 de janeiro de 2013 23:35
    quarta-feira, 2 de janeiro de 2013 23:34