Hello, I cannot find the problem with my code to be able to populate a dropdownlist based upon a previous dropdownlist selection.

Here is all the necessary code


<div class="control">
    		<asp:DropDownList ID="ddlEstado" 
                CssClass="ui-state-default ui-corner-all filterDropDown" runat="server" 
                DataSourceID="sdsEstadoDDL" DataTextField="nombre" DataValueField="nombre">
    	    <asp:SqlDataSource ID="sdsEstadoDDL" runat="server" 
                ConnectionString="<%$ ConnectionStrings:QMPConnectionString %>" 
                SelectCommand="EXEC Catalogs.sp_ObtenerEstado"></asp:SqlDataSource>
    		<asp:DropDownList ID="ddlMunicipio" runat="server" ></asp:DropDownList>


$(function () {
    $('[id$="ddlMunicipio"]').attr('disabled', true);

function obtenerMunicipios() {
        type: "POST",
        url: "WebService.asmx/ObtenerMunicipios",
        data: '{sEstado: Aguascalientes}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) { recibirMunicipios(response.d); },
        error: function () { alert("Error"); }

function recibirMunicipios(response) {

function popularMunicipios(alMunicipios) {
    $.each(alMunicipios, function () {


using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Collections;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web.Script.Services;

/// <summary>
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class WebService : System.Web.Services.WebService {
    public WebService () {

        //Uncomment the following line if using designed components 

    public static ArrayList ObtenerMunicipios(string sEstado)
        string sConnString = ConfigurationManager.ConnectionStrings["QMPConnectionString"].ConnectionString;
        ArrayList alMunicipios = new ArrayList();

        using (SqlConnection scConexion = new SqlConnection(sConnString))
            using (SqlCommand scComando = new SqlCommand("Catalogs.sp_ObtenerMunicipios", scConexion))
                scComando.CommandType = CommandType.StoredProcedure;
                scComando.Parameters.AddWithValue("@estado", sEstado);
                SqlDataReader sdr = scComando.ExecuteReader();
                while (sdr.Read())
                return alMunicipios;

This is my first time using WebServices Json etc. so I'm not very experienced but based on my research everything seems fine

Thanks in advance

Edited by MrCapuchino: n/a

6 Years
Discussion Span
Last Post by MrCapuchino

Hi, it seams that it never arrives to the web method, but I don't know why the default.aspx file is in the same directory as the WebService.asmx file, the .cs of the WebService.asmx is in the App_Code folder though.

If I put a debugg mark inside my web methods and then test the page it never arrives there so I know I'm not even getting there, still I have tested the web method by it self and it works.

What can I do I have been trying to fix this for a lot of time now and nothing seems to work.

THanks in advance


Just an update, I just realize the error is an internet 500 server error and using Fiddler I got the Unknown Web Method error.

The problem is that I have the [WebMethod] attribute above my static method and in fact I can access the method fine with server side code, the problem is with jquery it does not find the method at all.

Please help me,

Thanks in advance


Finally, I had to remove the static from the methods because I am using a Webservice and the examples I was looking where aspx pages...

simple solution but it took me a while to find it, hope this might help someone.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.