Ihsan chahi
Ihsan chahi

Reputation: 307

Return List to ajax mvc3

I am working on MVC3 and following is my controller

  public List<int> ddlTransType_Change(int DocID)
        {

            return UserDocumentServive.getSelectedUsers(DocID);

        }

My Ajax

  $.ajax({
                type: 'GET',
                url: "/MIS.MVC/" + "DocumentApproval/ddlTransType_Change",
                data: {
                    'DocID': $("#ddlTransType").val().trim()
                },
                success: function (result) {
                    alert(result.value)
},
error: function (e) {
                    alert("Error:Unable to load data from server");
                }
            });

Controller returns a list of int values i.e {1,74,23,1} and I want to show them in alert. any idea how to do it .?

Upvotes: 2

Views: 9825

Answers (1)

Nitin Varpe
Nitin Varpe

Reputation: 10704

If you are using MVC3, its better to return json data back to your ajax success call

public ActionResult ddlTransType_Change(int DocID)
    {

         List<int> list = UserDocumentServive.getSelectedUsers(DocID);;
        return Json(new
        {
            list = list
        },JsonRequestBehavior.AllowGet);

    }

Then your ajax call changes to

 $.ajax({
                type: 'GET',
                url: "/MIS.MVC/" + "DocumentApproval/ddlTransType_Change",
                data: {'DocID': $("#ddlTransType").val().trim()},
                dataType: 'json',
                success: function (result) {
                                           var list=result.list;
              $.each( list, function( index, value )
                                         {
                                            alert(value);
                                           });
                                             },
error: function (e) {
                    alert("Error:Unable to load data from server");
                }
        });

Upvotes: 10

Related Questions