无法通过aspx页面调用Flexigrid来访问web方法

时间:2011-07-07 14:54:07

标签: asp.net json jquery-plugins webmethod

我实现了followig web方法(文件Notes.asmx):

    [WebMethod(EnableSession = true)]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public object getNotesData ()
    {

        Guid contactId = new Guid("dc53b9a3-bde1-4810-88dd-3db2581f29b8");

        var data = BusinessObjectFactory.GetContactNotes(contactId);
        string serialized = new JavaScriptSerializer().Serialize(data);

        return serialized;
    }

该方法只返回一些引用联系人的数据。 我单独测试了该方法,并正确地返回了记录。

在aspx页面中,我使用以下Flexigrid语法来调用此Web方法来检索数据:

$(function ()
        {
            $("#flex1").flexigrid(
            {
            url: 'WebService/Notes.asmx/getNotesData',
            dataType: 'json',
            colModel : [
            { display: 'NOTEID', name: 'NOTEID', width: 40, sortable: true, align: 'left' },
            { display: 'Title', name: 'Title', width: 150, sortable: true, align: 'left' }
            ],
            sortname: "Title",
            sortorder: "asc",
            usepager: true,
            title: "Notes_TITLE",
            useRp: true,
            rp: 10,
            showTableToggleBtn: false,
            resizable: false,
            width: 500,
            height: 370,
            singleSelect: true
            }
            );
       });

但是,调试代码后,我发现从flexigrid调用永远无法访问服务器。在浏览器中,aspx页面在Flexigrid UI中具有“连接错误”。

我使用Ajax / Json和jQuery调用的其他Web方法,它们工作正常。由于aspx文件保存在同一服务器上以及包含Web服务的文件(名为WebService的文件夹)上方的目录中,因此路径不是错误的。

有关使用Flexigrid sintax无法访问服务器的任何建议吗?

1 个答案:

答案 0 :(得分:0)

您确定Web服务的路径是WebService / Notes.asmx / getNotesData吗? 看看萤火虫,它可能是错误的网址