I have 2 lists that come from the database, one from technician and one from suppliers. I can not get it from View and switch to Controller. And how to receive this list in the controller
Followthecodebelow:
ControllerpassinglisttoviewasViewBag
varlistaTecnicos=newBLL.Tecnico.TecnicoListar().ListarTecnicosProduto();ViewBag.listaTecnicos=listaTecnicos;
TechnicalView
<tablewidth="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 Product *
using System; using System.Collections.Generic; using System.ComponentModel;
DTO namespace { 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; }
} }