#asp.net-mvc #json
#asp.net-mvc #json
Вопрос:
В настоящее время я возвращаю данные JSON следующим образом:
return new JsonResult {
Data = from service in _serviceTable.GetAll(
u => u.PartitionKey == "1Z0-851" amp;
u.RowKey.CompareTo(lowerBound) >= 0 amp;
u.RowKey.CompareTo(upperBound) < 0)
select new {
service.PartitionKey,
service.RowKey,
service.TopicDescription,
service.SubTopicDescription,
service.Weight,
service.Format,
service.Style,
service.ShortTitle }
};
Это работает хорошо, но теперь я хотел бы вернуть некоторые данные, чтобы указать статус. Я попытался добавить это как, status таким образом:
ShortTitle },
Status = "abc"
};
но я получаю сообщение о синтаксической ошибке, в котором говорится «не содержит определения для статуса
Надеюсь, кто-нибудь может объяснить, как я мог бы добавить статус и отправить его обратно на мою веб-страницу. Обратите внимание, что в serviceTable много строк, но только один статус для отправки обратно.
Ответ №1:
Вы могли бы сделать это и немного навести порядок, используя пару промежуточных переменных ( var
удобно обрабатывает анонимные типы):
var service = from service in _serviceTable.GetAll(
u => u.PartitionKey == "1Z0-851" amp;
u.RowKey.CompareTo(lowerBound) >= 0 amp;
u.RowKey.CompareTo(upperBound) < 0)
select new {
service.PartitionKey,
service.RowKey,
service.TopicDescription,
service.SubTopicDescription,
service.Weight,
service.Format,
service.Style,
service.ShortTitle });
var status = "abc";
var result = new {
Service = service,
Status = status
};
return Json(result);
Ответ №2:
return new JsonResult {
Data = new {Result=(from service in _serviceTable.GetAll(
u => u.PartitionKey == "1Z0-851" amp;
u.RowKey.CompareTo(lowerBound) >= 0 amp;
u.RowKey.CompareTo(upperBound) < 0)
select new {
service.PartitionKey,
service.RowKey,
service.TopicDescription,
service.SubTopicDescription,
service.Weight,
service.Format,
service.Style,
service.ShortTitle}), Status="abc"}
};
Пожалуйста, проверьте синтаксис, но вы поняли идею.
Для доступа к данным вам придется использовать что-то вроде data.Результат и данные.Статус для статуса.