我想用数据发送2个参数:使用ajax。其中一个参数是一个字符串,并且它总是在c#侧出现,但是第二个参数是一个由少量字符串和整数组成的对象,对函数来说总是空的。
$.ajax({
url : "/Clients/Create",
data: { client : client, country : country},
method : "post"
});
有趣的是,当从浏览器调试js文件时,调试器会说对象包含它们应该的全部内容。
public void Create(Client client, string country)
{
//creates...
}
Country param是正确的,但是所有的客户端值都是null或0.我尝试交换他们的位置,看看它是否与订单有关,没有运气。我还尝试了多种方法来做数据:{client:client,country:country},"。
客户端类:
public class Client
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string City { get; set; }
public int Zip { get; set; }
public int CountryId { get; set; }
public Client() { }
}
这就是我在js中构建客户端对象的方式。
var client = {
Name : name,
Address : address,
City : city,
Zip : zip
}
答案 0 :(得分:0)
我建议你,如果客户是mvc模型
var client = $.parseJSON('@Html.Raw(Json.Encode(yourModelClient))');
car country = "country";
var dataPlus = {
client : JSON.stringify(client),
country: country
};
AJAX
$.ajax({
url: '@Url.Action("Create", "Client")',
data: dataPlus,
method : "POST",
});
然后是控制器
[HttpPost]
public actionresult Create(Client client, string country)
{
}