Marc
Marc

Reputation: 1

jQuery AJAX pass variable to webmethod

I am trying to pass a variable to a web method using Jquery with ajax. I am confused with the syntax to pass the variable and have tried many different forms with no success.

The webmethod is:

public string GetStudentName(string studentID)
{
    string name = string.Empty;
    int id = 0;

    // convert the string to an integer
    id = int.Parse(studentID);

    // If the studentID is withinrange 
    if (id < 0 || id >= _StudentList.Count)
    {
        name = "Not Found";
    }
    else
    {
        name = _StudentList[id].LastName + ", " + _StudentList[id].FirstName;
    }

    return name;
}

The student list is populated earlier in the code.

The jQuery code is:

$('#cmdLookup').click(function ()
{
    var sid = $("#<%=txtID.ClientID%>").val();

    $.ajax({

       type: "POST",

       url: "Services/WSStudent.asmx/GetStudentName",

       contentType: "application/json; charset=utf-8",

       data: sid,

       dataType: "json",

       success: function (result)
       {
           $('#<%=txtStudentName.ClientID%>').text(result.d);
       },
       error: function (XMLHttpRequest, textStatus, errorThrown)
       {
           alert('Error: ' + XMLHttpRequest.responseText);
       }
   })
})

If someone could show me the right syntax for passing the sid variable that would be great.

Upvotes: 0

Views: 493

Answers (1)

Lenon Bordini
Lenon Bordini

Reputation: 39

Try data: { studentID: sid } and make sure that sid variable has the value you want

Upvotes: 1

Related Questions