I have a Responsiblity class, which contains some subclasses
Below is the class:-
public class Responsibility
{
private Frequency _FrequencyInfo = new Frequency();
private ResponsibilityCategory _CategoryInfo = new ResponsibilityCategory();
private Status _StatusInfo = new Status();
public int ResponsibilityId { get; set; }
public string ResponsibilityName { get; set; }
public string Description { get; set; }
public Frequency FrequencyInfo
{
get { return _FrequencyInfo; }
set { _FrequencyInfo = value; }
}
public ResponsibilityCategory CategoryInfo
{
get { return _CategoryInfo; }
set { _CategoryInfo = value; }
}
public Status StatusInfo
{
get { return _StatusInfo; }
set { _StatusInfo = value; }
}
}
Below is the code i am using to bind the list.But i am getting all the elements of the class.
I just wants two elements from the class.
Responsibility newResponsibilty = new Responsibility();
newResponsibilty.ResponsibilityId = ResponsibilityId;
new iNGRID_Data.Ops.DataMethods().dbrGetResponsibilityDetailsInSpecifiedResponsibilty(ref newResponsibilty, ResponsibilityId, ref err);
List<Responsibility> listResponsibilty = new List<Responsibility>();
listResponsibilty.Add(newResponsibilty);
JavaScriptSerializer jsonserialize = new JavaScriptSerializer();
string result = jsonserialize.Serialize(listResponsibilty);
return Content(result);
I want to serialize this list with just 2 objects ResponsibiltyName and Description.
Please suggest.
Don’t manually JSON serialize them. Leave it to the framework by returning a Json result. Also you don;t need a list. You could return an anonymous object containing the properties you are interested in:
and inside your AJAX success callback you could read those properties: