Попробуйте это:
Создать класс инкапсулятора:
public class JsonEncapsulatorDto<T>
{
public IEnumerable<T> Data { get; set; }
public T DataSingle { get; set; }
}
в вашем методе действия используйте:
public ActionResult JsonList()
{
var data = new JsonEncapsulatorDto<News>();
data.Data = newsService.FindAll();
return Json(data , JsonRequestBehavior.AllowGet);
}
Теперь в вашем скрипте:
var grdNewsDataSource = YAHOO.util.DataSource('@Url.Action("JsonList")');
grdNewsDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
grdNewsDataSource.responseSchema = {
resultsList: 'Data',
fields: [
{ key: 'NewsId' },
{ key: 'Title' },
{ key: 'Body' }
]
};
Надеюсь, это сработает.