Как вернуть json с 2 объектами, используя базовый фреймворк asp.net? - PullRequest
0 голосов
/ 01 февраля 2019

Как вернуть 2 объекта через Json?Я строю поле ввода тега из Telerik и хочу передать строковые значения из 2 таблиц, а именно «Навыки» и «Экспертизы», в элемент управления jquery тега.

 public JsonResult Skills_Read(string text)
    {
        var result = GetSkills();
        var result1 = GetExpertises();

        if (!string.IsNullOrEmpty(text))
        {
            result = result.Where(p => p.Name.Contains(text)).ToList();
            result1 = result1.Where(p => p.Name.Contains(text)).ToList();

        }

        return Json(result);
    }

    private IEnumerable<Skill> GetSkills()
    {
        var result = _context.Skills;

        return result;
    }

    private IEnumerable<Expertise> GetExpertises()
    {
        var result = _context.Expertises;

        return result;
    }

1 Ответ

0 голосов
/ 01 февраля 2019

Вы можете создать новый объект.

public JsonResult Skills_Read(string text)
{
    var result = GetSkills();
    var result1 = GetExpertises();

    if (!string.IsNullOrEmpty(text))
    {
        result = result.Where(p => p.Name.Contains(text)).ToList();
        result1 = result1.Where(p => p.Name.Contains(text)).ToList();

    }

    return Json(new { result, result1 });
}

Также

return Json(new { Skills = result, Expertises = result1 })

Обновить рабочий код, который я просто увеличил

[Route("api/[controller]")]
public class ValuesController : ControllerBase
{
    class One
    {
        public string Word { get; set; }
    }

    class Two
    {
        public string Word { get; set; }
    }

    // GET api/values
    [HttpGet]
    public JsonResult Get()
    {
        return new JsonResult(new {
            First = new One { Word = "Some Word" },
            Second = new Two { Word = "Another Word" }
        });
    }
}

Вот как это выглядит: Result

...