GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Passar uma lista da View para o Controller

csharp
javascript
programação
Tags: #<Tag:0x00007fea95f910f0> #<Tag:0x00007fea95f90e70> #<Tag:0x00007fea95f90ba0>

#1

Tenho lista que vem do banco de dados, uma de técnico e outra de fornecedores. Não estou conseguindo pegar da View e passar para o Controller. E como receber esta lista na controller

Segue o codigo:

Controller passar a lista para a view como ViewBag

     var listaTecnicos = new BLL.Tecnico.TecnicoListar().ListarTecnicosProduto();
    ViewBag.listaTecnicos = listaTecnicos;

View Técnico HTML

    @{
        var cont = 0;

        for (int i = 0; i < ViewBag.listaTecnicos.Count; i++)
        {
            <tr class=".itemTecnico">
                <td class="idTecnico">@ViewBag.listaTecnicos[i].ID_Tecnico</td>
                <td>@ViewBag.listaTecnicos[i].Nome</td>
                <td width="100px">@Html.TextBoxFor(model => model.QtdProdutoTecnico, new { id = "qtdProduto_" + cont, @class = "money2 form-control somarProdutoTecnico", maxlength = "5", @placeholder = "00,00" })</td>
                <td>@Html.TextBoxFor(model => model.ObsProdutoTecnico, new { @class = "form-control" })</td>

            </tr>

            cont++;
        }
    }

</tbody>
Cód. Técnico Quantidade Observação

JavaScript JQuery

$(’#btnSalvarTecnicos’).click(function () {

var arrayTecnicos = $('.itemTecnico');
var idDoTecnico = new Array();
var qtdDoTecnico = new Array();
var obsDoTecncio = new Array();
var todos_tecnicos = new Array();

function pegarosTecnicos() {

    for (var i = 0; i < arrayTecnicos.length; i++) {

        todos_tecnicos = {
            idDoTecnico : $('.idTecnico').val(),
            qtdDoTecnico : $('.somarProdutoTecnico').val(),
            obsDoTecncio : $('.ObsTecnico').val()
        };
    };


};


$.ajax({
    url: '@Url.Action("SalvarTecnicos")', // to get the right path to controller from TableRoutes of Asp.Net MVC
    dataType: "json", //to work with json format
    type: "POST", //to do a post request
    contentType: 'application/json; charset=utf-8', //define a contentType of your request
    cache: false, //avoid caching results
    data: JSON.stringify(todos_tecnicos), // passar os parametros
    success: function (data) {


    },
    error: function (xhr) {
        alert("Erro! ao Salvar os com os tecnicos, Favor Entrar em Contato com O Suporte.");
    }


});

});

Controller

public ActionResult SalvarTecnicos(DTO.Produtos ListaTecncicos)
{
  // aqui retorna ula lista vazia
}

DTO Produto

using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace DTO { public class Produtos {

public string QtdProdutoTecnico { get; set; }
public string ObsProdutoTecnico { get; set; }
public string QtdTotalTecnicos { get; set; }

public List<DTO.Fornecedores> ListaFornecedoresProduto { get; set; }

public List<DTO.Tecnicos> ListaTecncicos { get; set; }

public List<DTO.ProdutoComTecnico> ProdutoComTecnico { get; set; }

}

não estou conseguindo pegar os dados e passar para a model esta lista de técnicos