Json参数js+;c#(MVC 3)
我在javascript中有一个函数,我通过Ajax将json发送到c#,但当我在c#中接收时,它不是json。我怎么做?如果我将Response.Write(arr)放在c#中,则响应是System.string[]。我的项目是MVC3 函数c#Json参数js+;c#(MVC 3),c#,javascript,ajax,json,asp.net-mvc-3,C#,Javascript,Ajax,Json,Asp.net Mvc 3,我在javascript中有一个函数,我通过Ajax将json发送到c#,但当我在c#中接收时,它不是json。我怎么做?如果我将Response.Write(arr)放在c#中,则响应是System.string[]。我的项目是MVC3 函数c# public int-salvar(字符串[]arr) { SqlConnection conexao=新的SqlConnection(WebConfiguration Manager.ConnectionString[“strConexao”].T
public int-salvar(字符串[]arr)
{
SqlConnection conexao=新的SqlConnection(WebConfiguration Manager.ConnectionString[“strConexao”].ToString());
conexao.Open();
SqlTransaction trx=conexao.BeginTransaction();
尝试
{
//截断客户
//BUProjetosDAL=新的BUProjetosDAL();
//dal.不包括客户ECURSO(科内西奥,trx);
DTSReCursorSoClientTableAdapters.RECURSO_ClientTableAdapter tabela=新的DTSReCursorSoClientTableAdapters.RECURSO_ClientTableAdapter();
对于(int j=0;j尝试使用
$.ajax({
type: 'POST',
url: '/Paginas/salvar',
contentType: "application/json; charset=utf-8",
data: arr,
dataType: 'json',
traditional: true, --> use the traditional object serialization for the array
success: function (dados) {
if (dados == 0) {
alert("Nao foi possivel salvar os dados");
}
}
});
C#自动将JSON对象序列化为正确的参数,即如果您的函数采用参数Firstname
和Lastname
,并且您的JSON具有Firstname
和Lastname
的属性,则会自动分配这些参数。但问题是,在C#中,我没有正确地接收JSON作为参数,arr的值为NULL,但在js中,arr的值是json
$("#btnSalvar").on("click", function () {
var confirma = confirm("Deseja salvar os dados?");
if (confirma) {
var lista = jQuery("#tabelaRecurso").getDataIDs();
var total = lista.length;
var arr = [];
for (var i = 1; i <= lista.length; i++) {
var rowData = $("#tabelaRecurso").jqGrid('getRowData', i);
if (rowData.CD_CLIENTE != 0) {
arr[i - 1] = {
col1: rowData.CD_RECURSO,
col2: rowData.NM_RECURSO,
col3: rowData.CD_CLIENTE,
col4: rowData.LISTA_EMAIL,
col5: rowData.LISTA_EMAIL_COPIA
}
}
}
$.ajax({
type: 'POST',
url: '/Paginas/salvar',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(arr),
dataType: 'json',
success: function (dados) {
if (dados == 0) {
alert("Nao foi possivel salvar os dados");
}
}
});
}
});
$.ajax({
type: 'POST',
url: '/Paginas/salvar',
contentType: "application/json; charset=utf-8",
data: arr,
dataType: 'json',
traditional: true, --> use the traditional object serialization for the array
success: function (dados) {
if (dados == 0) {
alert("Nao foi possivel salvar os dados");
}
}
});