我在javascript中创建了一个表:
var global = [];
function GetValues() {
debugger;
var myList = $("#multiSelect");
var yy = $("#article").val();
var Selectedelement = $("#quantiCommande").val();
myList.append('<option value=' + Selectedelement + '>' + Selectedelement + " " + yy + '</option>');
global.push({ "id": yy, "qte": Selectedelement });
}
我现在想要将表全局发送到控制器,这是将表格glabal发送到控制器的方法javasript的代码: 这是我在javascript中的表格形式:enter image description here
function Test() {
var NumCommande = $("#NumCommande").val();
var client = $("#clientc").val();
debugger;
$.ajax({
url: "/Commande/Ajoutercommande?NumCommande=" + NumCommande + "&client=" + client + "&global=" + global, // /Controlleur/Action
type: "POST",
dataType: 'text',
//data : {Nom: nom},
success: function (responseText) {
debugger;
if (responseText == "True") {
alert("Succes");
}
else {
alert("error");
}
}
});
}
这是我的控制器方法我需要显示我的表全局元素
public Boolean Ajoutercommande(string NumCommande, int client, Object global)
{
CRUDEntities db = new CRUDEntities();
Commande c = new Commande();
c.NumCommande = NumCommande;
c.Quantité = client;
Console.Write(global);
db.Commande.Add(c);
db.SaveChanges();
return true;
return true;
}
有人可以帮我修复此代码,谢谢。
答案 0 :(得分:2)
我建议创建一个单个对象参数。 定义您的datacontract
public class TableContent
{
public int id { get; set; }
public string qte { get; set; }
}
public class AjourtercommandParam
{
public string NumCommande { get; set; }
public int client { get; set; }
public TableContent[] global { get; set; }
}
然后,在你的控制器(WebApi控制器,对吗?)
[HttpPost]
[Route("Commande/Ajoutercommande")]
public async Task<IHttpActionResult> Ajoutercommand(AjoutercommandParam param)
{
if(ModelState.IsValid == false)
{
return BadRequest(ModelState);
}
try
{
var result = await DataLayerService.AjouterCommand(param);
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
将您的数据发布在ajax调用的数据部分。
$.ajax({
url: "/Commande/Ajoutercommande",
type: "POST",
dataType: 'json',
data : {
"NumCommande": NummCommande,
"client" : client,
"global" : global
},
success: function (responseText) {
debugger;
if (responseText == "True") {
alert("Succes");
}
else {
alert("error");
}
}
});