I'm displaying a list on the Default.aspx page that contains objects (persons) fetched from the database:
[WebMethod]
[ScriptMethod(UseHttpGet = false)]
public static void getPersonList()
{
    DatabankService dbs = new DatabankService();
    persons = dbs.getPersons());
    // fillTable(persons) is not possible here (not possible in static method).
    // fillTable code also cannot be place here because it uses UI Elements from default.aspx to create the table (same problem as above).
}
Method to fill the table:
public void fillTable(List<Person> persons)
{
    // make colums and rows and will with data (foreach person in..)
}
Every 10 seconds this method should be called again without refreshing the page so that the list gets updated:
$(function () {
    setInterval(function () {
        getData();
    }, 10000);
});
function getData() {
    $.ajax({
        type: "POST",
        async: true,
        url: "Default.aspx/getPersonList",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        error: function (jqXHR, textStatus, errorThrown) {
            // error
        },
        success: function (data) {
            // success
        }
    });
}
The problem is that I cannot call the fillTable fuction from the static [WebMethod] getPersonList(). How can I make this work?
                        
I finaly found a good solution. Because it looks like it's not possible to run the fillTable() method (non static) inside the static [WebMethod] getPersonList() method I couldn't refresh the content using the Code-Behind where I needed access to UI Elements in a static method. What I did is convert to persons-list into a JSON-object and sent it to my jQuery success function (where the needed UI elements are targetable):