C# 使用WebService从母版页调用Ajax
我尝试通过Ajax从母版页调用方法,但没有成功: 母版页C# 使用WebService从母版页调用Ajax,c#,asp.net,jquery,master-pages,C#,Asp.net,Jquery,Master Pages,我尝试通过Ajax从母版页调用方法,但没有成功: 母版页 $(function ListaCategorias() { var pageUrl = '<%=ResolveUrl("~/WebService/MenuEsquerdo.asmx")%>'; $.ajax({ type: "POST", url: pageUrl + '/ListaCategoriasMenu', da
$(function ListaCategorias() {
var pageUrl = '<%=ResolveUrl("~/WebService/MenuEsquerdo.asmx")%>';
$.ajax({
type: "POST",
url: pageUrl + '/ListaCategoriasMenu',
data: "{}",
contentType: "application/json; charset=utf-8",
dataTyle: "json",
async: false,
error: function (jqXhR, textStatus, errorThrown) { alert(errorThrown); },
success: function (data) {
var Categorias = data.d;
var counter = 0;
aCategorias = [];
//Carrega as Categorias
$.each(Categorias, function (index, categorias) {
aCategorias[counter] = [
categorias.cat_id, categorias.cat_descricao, categorias.cat_total_anuncios
];
counter++;
});
}
});
});
$(函数ListaCategorias(){
var pageUrl='';
$.ajax({
类型:“POST”,
url:pageUrl+'/ListaCategoriasMenu',
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:false,
错误:函数(jqXhR,textStatus,errorhorn){alert(errorhorn);},
成功:功能(数据){
var分类=数据d;
var计数器=0;
aCategorias=[];
//卡雷加分类
$.each(分类,函数(索引,分类){
aCategorias[柜台]=[
categorias.cat\u id、categorias.cat\u descripcao、categorias.cat\u total\u anuncios
];
计数器++;
});
}
});
});
MenuEsquerdo.asmx
/// <summary>
/// Summary description for MenuEsquerdo
/// </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 MenuEsquerdo : System.Web.Services.WebService
{
[WebMethod]
//[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static IList ListaCategoriasMenu()
{
tab_categorias tabCategorias = new tab_categorias { cat_ativo = true, cat_deletado = false };
var listCategorias = tabCategorias.ListaCategoriasMenu();
return listCategorias;
}
}
//
///MenuEsquerdo的摘要说明
///
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
//要允许使用ASP.NET AJAX从脚本调用此Web服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
公共类MenuEsquerdo:System.Web.Services.WebService
{
[网络方法]
//[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共静态IList ListaCategoriasMenu()
{
tab_categorias tabCategorias=new tab_categorias{cat_ativo=true,cat_deletado=false};
var listCategorias=tabCategorias.ListaCategoriasMenu();
返回列表分类;
}
}
我刚刚收到错误消息“InternalServerError”
我做错了什么
我想加载一个我在使用WebService时想到的菜单,但如果你知道一个更好的选项,比如事件处理程序,我是开放的
谢谢
更新
我还尝试使用用户控件,但返回的错误消息是Forbbiden 您的
ListaCategoriasMethod()
是一个静态web方法,这些方法在web服务中不起作用。查看此Stackoverflow问题以了解更多详细信息