我实现了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无法访问服务器的任何建议吗?
答案 0 :(得分:0)
您确定Web服务的路径是WebService / Notes.asmx / getNotesData吗? 看看萤火虫,它可能是错误的网址