C# AJAX响应是原始HTML

C# AJAX响应是原始HTML,c#,jquery,html,ajax,C#,Jquery,Html,Ajax,我正在使用AJAX填充一些级联组合框,如下图所示: 当在组合框中选择一个选项时,它应该填充“市政”组合框,要执行此操作,我使用名为CargarCombos(int intAccion,string strCodigo)的AJAX调用一个方法,该方法接收下一个信息: 但问题在于,当从AJAX方法接收响应时,它似乎没有调用前面提到的方法,而且为了解决所有问题,它只响应页面包含的相同HTML源代码,如下所示: 如果你们能帮助我,我将非常感激。谢谢 编辑: 根据建议,我将添加AJAX命令和WEBM

我正在使用AJAX填充一些级联组合框,如下图所示:

当在组合框中选择一个选项时,它应该填充“市政”组合框,要执行此操作,我使用名为CargarCombos(int intAccion,string strCodigo)的AJAX调用一个方法,该方法接收下一个信息:

但问题在于,当从AJAX方法接收响应时,它似乎没有调用前面提到的方法,而且为了解决所有问题,它只响应页面包含的相同HTML源代码,如下所示:

如果你们能帮助我,我将非常感激。谢谢

编辑:

根据建议,我将添加AJAX命令和WEBMethod:

阿贾克斯:

WEBMEthod:

[WebMethod()]
public static ArrayList CargarCombos(int intAccion, string strCodigo)
{
    ArrayList list = new ArrayList();

    ////LLamo a las variables necesarias.
    BLL.cDirecciones DireccionesDAL = new BLL.cDirecciones();
    Util.cFuncion oUtil = new Util.cFuncion();

    DataSet oDataCombos = new DataSet();

    oDataCombos = DireccionesDAL.CargarCombos(intAccion, strCodigo);
    if (oDataCombos.Tables[0].Rows.Count > 0)
    {
        foreach (DataRow row in oDataCombos.Tables[0].Rows)
        {
            list.Add(new ListItem(row.ItemArray[1].ToString(), row.ItemArray[0].ToString()));
        }
    }
    return list;
}

从截图上看,您似乎正在使用WebForms。如果是这种情况,那么您发布到实例的方法是静态的还是静态的?因为如果它不是静态的,或者该方法没有标记
WebMethod
属性,就会发生这种情况。这是因为您的
ajax
请求被视为正常的完整回发

e、 应该是这样的

[WebMethod]
//assuming MyModel is the name of your model class to send back to the client.
public static MyModel CargarCombos(int intAccion, string strCodigo)
{
    //whatever it is you do here
}

如果通过JQuery调用WebMethod,请确保将内容类型设置为JSON,例如

$.ajax({
      type: "POST",
      url: "Pendientes.aspx/CargarCombos",
      data: "{intAccion:1, strCodigo:'BAR'}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        alert(msg);
      }
});

您是否有可能发布实际的相关代码和任何错误?抱歉,在任何不同的选项卡中都没有显示firebug上的任何类型的错误,抱歉没有提供更多信息,但这与我无法解决问题的原因相同。您是否通过JQuery调用WebMethod?实际上是通过AJAX,但是的,是的。你能添加WebMethod的基础知识和调用javascript的代码吗?它有一些线索。嗨,谢谢你的快速响应,是的,它是静态的,有[WebMethod]标记,ajax方法以前是有效的,但现在它什么也做不了。谢谢,好的。所以想必有些事情已经改变了。你能更新这个问题来显示代码隐藏方法和客户端调用吗,我相信我们能解决它。嗨,谢谢你的回答,这几乎就像我的方法一样,唯一的区别是我必须对组合框传递的字符串值使用JSON.stringify函数,谢谢
$.ajax({
      type: "POST",
      url: "Pendientes.aspx/CargarCombos",
      data: "{intAccion:1, strCodigo:'BAR'}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        alert(msg);
      }
});