aspx页面上的2页方法

时间:2011-06-01 16:21:04

标签: asp.net

我正在用jquery调用一个页面方法,它运行得很好。我正在创建第二个,它根本不起作用;我得到的只是错误功能。是否可以在aspx页面中放置超过1页的方法?

这是我在客户端上的jquery:

function LoadCount() {

    var TheObject = $.toJSON(CurrentForm);
    var TheParameter = "{'TheParameter' : '" + TheObject + "'}";

    $('#testobj').html("loading");

    $.ajax({
        type: "POST",
        url: "../Pages/MyPage.aspx/GetCount",
        data: TheParameter,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: successFn,
        error: errorFn
    });

};

function successFn(thedata) {   $('#result').html(thedata.d); };
function errorFn() { alert("problem getting count"); };

function LoadData() {

    var ConfirmLoad = "test";

    $.ajax({
        type: "POST",
        url: "../Pages/MyPage.aspx/GetLoaded",
        data: ConfirmLoad,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: successLoad,
        error: errorLoad
    });

};

function successLoad(thedata) { alert((thedata.d)); };
function errorLoad() { alert("problem getting loaded"); };

在服务器端,我有这个:

[WebMethod]
public static string GetCount(string TheParameter)
{
  // some code
  return JsonResult;
}

[WebMethod]
public static string GetLoaded(string ConfirmLoad)
{
  return "test string";
}

LoadCount和GetCount工作得很好,我以为我会复制实现来创建另一个页面方法,但第二次,没有任何好处发生。谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

如果您只是返回纯文本而不是JSON编码的字符串,则需要在dataType: "text"调用属性中设置$.ajax()

如果您发送纯文本而不是JS对象,您可能还希望保留contentType未指定(默认值为'application/x-www-form-urlencoded')。