.NET ASMX AJAX возвращенный объект - PullRequest
1 голос
/ 21 сентября 2011

Предположим, у меня есть модальное открытое окно, которое заполняется с помощью вызовов ajax и javascript.

Я уже написал классы для своих объектов данных в бэкэнде, которые я хотел бы использовать, которые приходят из моей базы данных, но для аргументов - просто фиктивные классы:

public class Foo {
    public string Property1 { get;set; }
    public string Property2 { get;set; }
}

public class Bar { 
    public int Id { get;set; }
    public int Name { get;set; }
}

Iнужны данные из обоих этих объектов, уже полученные из базы данных.Я хотел бы знать, каков наилучший способ вернуть их обратно на сторону клиента.Я уже выдвинул несколько идей:

  • Два вызова веб-методов (похоже на дополнительный запрос XHR)
  • Один вызов, который возвращает массив объектов, с нулевым индексом, равным Fooи индексируйте один как bar.
  • Создайте новую структуру, которая инкапсулирует эти два класса

Для этого конкретного примера я мог бы обойти это, но я чувствую, что это произойдетмногое из того, что я кодирую, и я решил спросить, прежде чем придумать решение.У кого-нибудь есть опыт / отзывы?Если WCF поможет мне в решении этой конкретной проблемы, я определенно был бы готов переключиться.

Я использую jQuery, если это имеет значение.

1 Ответ

2 голосов
/ 21 сентября 2011

Пожалуйста, создайте класс-оболочку, который включает два экземпляра класса:

public class FooBar {
    public Foo foo { get; set; }
    public Bar bar { get; set; }
}

Это гарантирует, что на стороне клиента:

  • Вам не нужно делатьпредположения о местонахождении объекта на основе его индекса.
  • Код клиента лучше читается и поддерживается.Существует мало места для неверного толкования.
  • Вы можете иметь один аргумент возврата для операции службы.

По крайней мере, это мое мнение: -)

...