2
I have 2 lists that come from the database, one from technical and another from suppliers. I’m not able to take the View and pass to the Controller. And how to receive this list in the controller
Follow the code:
Controller pass list to view as Viewbag
var listaTecnicos = new BLL.Tecnico.TecnicoListar().ListarTecnicosProduto();
ViewBag.listaTecnicos = listaTecnicos;
View Técnico
<table width="100%" class="table table-striped">
<thead>
<tr>
<th>Cód.</th>
<th>Técnico</th>
<th>Quantidade</th>
<th>Observação</th>
</tr>
</thead>
<tbody>
@{
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>
</table>
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.");
}
});
});
Controlelr
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 Products {
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; }
} }
Hello Denilson, welcome to Stackoverflow. What exactly aren’t you able to do? Why can’t you take of View and go to the Controller? Explain your question further.
– CypherPotato