这是我的ManageCategory.js
function SaveArea() {
debugger;
if (flag_Area == 0) {
Temp = {
'Category_id': $("#txtAddArea_Id").val(),
'Category_name': $("#txtAddArea_Name").val().substr(0, 1).toUpperCase() + $("#txtAddArea_Name").val().substr(1).toLowerCase()
};
$.ajax({
type: "POST",
url: "WebForm1.aspx/InsertCategory",
dataType: "json",
// data: {},
data: JSON.stringify(Temp),
// data: JSON.stringify(contact, memberfilter, "\t"),
contentType: "application/json; charset=utf-8",
//processData: true,
success: function (Data) {
alert(Data);
//AreaList = Data;
if (Data == "true") {
oTable_Area.fnClearTable();
GetArea();
jsonParse = JSON.parse(AreaList.d);
oTable_Area.fnAddData(jsonParse);
jNSuccessMsg("New Category is added in database successfully.");
}
else if (Data == "false") {
jNErrorMsg("Attention", "Category is already exist in the database");
}
else {
jNErrorMsg("Error In Add Category", Data);
}
}
});
// debugger;
Id_Area = null;
}
这是我的WebForm1.aspx.cs
[WebMethod]
public static string InsertCategory(string data)
{
IService1 wcfclient = ServiceHelper.InitService<IService1>();
clsCategoryBLL obj = JsonConvert.DeserializeObject<clsCategoryBLL>(data);
bool flag = false;
flag = wcfclient.InsertCategory(obj);
return (flag.ToString());
}
我无法在jquery数据表中添加数据。 $ .ajax没有正确地将数据传递给InsertCategory(Web表单方法)。
我哪里出错了?请帮帮我... tnx提前
答案 0 :(得分:1)
InsertCategory pagemethod中的参数应与发布的JSON对象匹配。 为了使您的代码与Temp JSON对象一起使用,请将InsertCategory页面方法更改为以下(param名称区分大小写)
[WebMethod]
public static string InsertCategory(integer Category_id, string Category_name ){
// ...implementation...
}
你也不需要在$ .ajax中使用JSON.stringify作为数据参数,jQuery需要将数据转换为查询字符串,所以如果你只是自己传递对象就更好了。
您可能想查看这些博客文章,了解有关使用asp.net pagemethods和jquery的更多信息。