20

I use asp.net and web forms. In my project I have asmx web service

[WebMethod]
    public string GetSomething()
    {
      // avoid circual reference(parent child)
      List<RetUsers> res = repo.GetAllUser().Select(c => new RetUsers {User_ID = c.User_ID,User_Name = c.User_Name,Date_Expire = c.Date_Expire }).ToList();
      string res1 = res.ToJson();
      // extension methods
      return res.ToJson();
    }

And result is in this format.

[
    {"User_ID":1,"User_Name":"Test 1","Date_Expire":null},
    {"User_ID":2,"User_Name":"Test 2","Date_Expire":null}
]

How can I append to label this result in $.ajax sucess to get this output:

1 - Test 1, 2 - Test 2.

1
  • The web method should also be a class member (set by the static keyword in C#) Commented Jan 9, 2013 at 23:50

2 Answers 2

37

Return the list instead, and use [ScriptMethod(ResponseFormat = ResponseFormat.Json)] attribute - it will create JSON object as return automatically:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public List<RetUsers> GetSomething()
{
  // avoid circual reference(parent child)
  List<RetUsers> res = repo.GetAllUser().Select(c => new RetUsers {User_ID = c.User_ID,User_Name = c.User_Name,Date_Expire = c.Date_Expire }).ToList();

  return res;
}

And on JS side:

$.ajax(
{
    type: "POST",
async: true,
url: YourMethodUrl,
data: {some data},
contentType: "application/json; charset=utf-8",
dataType: "json",
    success: function(msg)
    {
        var resultAsJson = msg.d // your return result is JS array
        // Now you can loop over the array to get each object
        for(var i in resultAsJson)
        {
            var user = resultAsJson[i]
            var user_name = user.User_Name
            // Here you append that value to your label
        }
    }
})
Sign up to request clarification or add additional context in comments.

1 Comment

How do you call this GetSomething URL in the first place, in a web-forms app?
-1
public ActionResult MyAjaxRequest(string args)
{
  string error_message = string.Empty;
  try
  {
    // successful
    return Json(args);
  }
  catch (Exception e)
  {
    error_message = e.Message;
  }
} 

what maybe the an error here

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.