无法从jquery数据源调用webmethod

时间:2015-01-19 17:19:29

标签: c# jquery

我正在尝试使用SQL Server中的数据填充jqxgrid。我正在遵循所有指令jqwedgets来从SQL Server获取数据,但由于某种原因没有发生任何事情。网格显示为空,没有数据。

我正在使用此代码:

脚本:

  $(document).ready(function () {
var url = "/test.aspx/Getquestions";

// prepare the data
var source = {
    datatype: "xml",
    datafields: [{ name: 'QuestionID' },
                 { name: 'QuestionText' },
                 { name: 'NumberofAnswers' }],
    async: false,
    record: 'question',
    url: url
};
var dataAdapter = new $.jqx.dataAdapter(source, {
contentType: 'application/json; charset=utf-8' });
});

C#代码

我试图直接从浏览器调用webservice但是给了我404错误。这是Web服务类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
//using System.Collections.Generic;
using System.IO;
using System.Web.Script.Services;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Script.Serialization;

namespace CIS
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET     AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{

    [WebMethod]
    //[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)] 
    public  string Getquestions()
    {
        return "hello";

    }
}
}

根本没有调用web方法。 我测试了webmethod功能,它的工作原理。它创建了xml。但由于某种原因,url属性没有调用webmethod。任何帮助?

1 个答案:

答案 0 :(得分:0)

我认为您需要从方法定义中删除static

public string Getquestions()

如果这不起作用,我建议使用像Fiddler或Wireshark这样的网络流量分析器来确认正在发送Web请求。