javascriptに関数があり、Ajaxでc#にjsonを送信しているのですが、c#で受信するとjsonではありません。どうすればいいですか?C# に Response.Write(arr) を入れると、応答は System.string[] になります。私のプロジェクトはMVC 3です
関数c#
public int salvar(string[] arr)
{
SqlConnection conexao = new SqlConnection(WebConfigurationManager.ConnectionStrings["strConexao"].ToString());
conexao.Open();
SqlTransaction trx = conexao.BeginTransaction();
try
{
//Truncate cliente_recurso
//BUProjetosDAL dal = new BUProjetosDAL();
// dal.excluirClientesRecurso(conexao, trx);
dtsRecursoClienteTableAdapters.RECURSO_CLIENTETabelaTableAdapter tabela = new dtsRecursoClienteTableAdapters.RECURSO_CLIENTETabelaTableAdapter();
for (int j = 0; j <= 149; j++) { // <- here
tabela.Insert(arr);
}
trx.Commit();
return 1;
}
catch (SqlException ex)
{
try
{
trx.Rollback();
return 0;
}
catch (Exception exRollback)
{
return 0;
}
}
}
関数 js + ajax
$("#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");
}
}
});
}
});