none
Lista de CheckBox dinamico com Angular e Asp.Net MVC RRS feed

  • Pergunta

  • Bom dia galera é o seguinte, crio um conjunto de checkboxes com uma lista vindo do banco. seto os valores selecionados em um vetor com javascript, este vetor é um vetor de objetos contendo o id do checkbox e o nível de conhecimento selecionado. como envio este vetor através do post para meu controlador Asp.Net?

    Códigos:

    Modelo:

        public partial class HORARIOS
        {
            [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
            public HORARIOS()
            {
                PROGRAMADORES = new HashSet<PROGRAMADORES>();
            }

            [Key]
            public int ID_HR { get; set; }

            public int NIVEL_CONHECIMENTO { get; set; }

            [Required]
            [StringLength(200)]
            public string DESC_HR { get; set; }

            [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
            public virtual ICollection<PROGRAMADORES> PROGRAMADORES { get; set; }
        }

    View:

     {{HorariosSelecionados}}
                                <h3>What's the best time to work for you? / Pra você qual é o melhor horário para trabalhar? *</h3>
                                <div ng-repeat="item in ListHorarios">
                                    <input class="col-md-1" id="{{item.ID_HR}}" type="checkbox"ng-model="HorariosSelecionados" name="HorariosSelecionados" value="{{item.ID_HR}}" ng-checked="selection.indexOf(item.ID_HR) > -1" ng-click="toggleSelection(item)" />
                                    <label class="col-md-11">{{item.DESC_HR}}</label>
                                </div>

    Controller angular:

    Função que add os itens checados no vetor

       $scope.toggleSelection = function toggleSelection(item) {
            var idx = $scope.HorariosSelecionados.indexOf(item.ID_HR);
            // is currently selected
            if (idx > -1) {
                $scope.HorariosSelecionados.splice(idx, 1);
            }

                // is newly selected
            else {
                $scope.HorariosSelecionados.push(item);
            }
        };

    Precisava no caso, após submeter o formulário, receber no controller este vetor e conseguir acessar os atributos da classe HORARIO. Algo do tipo 

    [Httpost]

    public ActionResult GetCheck(List<Horarios> ListaDeHorarios)

    {

          //ações....

    }

    segunda-feira, 12 de junho de 2017 14:18