ajax调用c#函数并获取一个返回整数

时间:2011-08-08 22:16:25

标签: jquery asp.net-ajax

你好,我有一个轻微的问题,我尝试在c#中调用一个函数抛出ajax但它不起作用我尝试evrey的东西但仍然没有什么可以一个人PLZ告诉我什么是错的

function Save(ID, FullId) {
var code ="1234"// prompt("הכנס סיסמא", "סיסמא");
var flag = 2;//subcatgory
var catname='';
if (code == "1234") {
    if (FullId == "tdcatid" + ID){
        flag = 1; //catgory

        }
        catname=$('#'+FullId).val();
        $.ajax({
            async: false,
            type: "POST",
            url: "admins.aspx/SaveCondition",
            data: '{catId: ' + ID + ',catFlag:' + flag + ',catName: ' + catname + '}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                alert(response.d);
            }

        });

服务方

 [System.Web.Services.WebMethod]
public static int SaveCondition(int catId, int catFlag, string catName)
{
   int answer=(int) Dbhelper.ExecuteScalar("server=MY_COMP\\AMIT;database=IDEAS;Trusted_Connection=True",
        "sp_save_catgory_and_sub",
        new SqlParameter("@caname", catName),
        new SqlParameter("@catid", catId),
        new SqlParameter("@flag", catFlag)
        );
   return answer;
}

1 个答案:

答案 0 :(得分:0)

我认为您可能缺少数据参数的引号,并且框架无法正确反序列化json对象(即签名上的类型):

data: '{catId: "' + ID + '",catFlag:"' + flag + '",catName: "' + catname + '"}',

(你真的需要它们围绕字符串参数catname ...)

另外,可能是您粘贴了部分代码,但是您在(2)

处缺少右括号