Tôi phải chuyển mảng hai chiều sang phương thức trang được viết ở mã phía sau trang web trong asp.net Tôi có một biến số objList
làm mảng hai chiều. Tôi đã sử dụng mã sau để đạt được điều này mà không thành công và phương thức trang không được gọi.Vượt qua mảng để mã sau từ jquery ajax
JAVASCRIPT
function BindTable(objList) {
$.ajax(
{
url: "CompCommonQues.aspx/SaveData",
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
data: { data: objList },
success: function (data) {
//Success code here
},
error: function() { }
});
}
mã sau cs tập
[WebMethod]
public static string SaveData(string[,] data)
{
string[,] mystring = data;
return "saved";
}
Có phương pháp như JSON.stringify (objList) để vượt qua các mảng json mã đằng sau nhưng không thể thực hiện điều này. Một cuộc gọi đơn giản wihtout mảng làm việc cho tôi như
data: "{ 'data':'this is string' }",
và trong mã đằng sau
[WebMethod]
public static string SaveData(string data)
{
string mystring = data;
return "saved";
}
Có vấn đề trong việc thông qua data
. Bạn có thể giúp tôi làm thế nào để vượt qua nó cho mảng?
Phương pháp web không được nhấn khi tôi gỡ lỗi mã. Những thay đổi cần thiết trong mã đằng sau hàm. –
Bạn đang truyền một chuỗi như sau: {data: [["a", "b"], ["a", "b"], ["a", "b"]]}. Vì vậy, bạn cần phải thay đổi tham số từ chuỗi (,) thành chuỗi và sử dụng System.Web.Script.Serialization.JavaScriptSerializer để deserialize thành chuỗi (,). Tôi sẽ làm ví dụ. – JurgenStillaert
Tôi đã thay đổi mã của tôi theo đề xuất của bạn, Mảng được tạo nhưng mã đằng sau phương pháp vẫn không nhấn. –