ObjectDataSource вызывает этот метод, чтобы
ObjectDataSource вызывает этот метод, чтобы реализовать разбиение на страницы.
Рассмотрим это на примере:
public class Continent { ArrayList ContinentArrayList; public Continent() { ContinentArrayList = new ArrayList(); ContinentArrayList.Add("Worldwide"); ContinentArrayList.Add("America"); ContinentArrayList.Add("Africa"); ContinentArrayList. Add("Asia-Pacific");
} public ArrayList List() { return ContinentArrayList; } public int SelectCount() { return ContinentArrayList.Length; } }
Даже такой примитивный класс может использоваться как источник данных для ObjectDataSource, так как ArrayList реализует IEnumerable. Вместо свойств *Command ObjectDataSource использует *Method:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="List" TypeName=" Continent "> </asp:ObjectDataSource> <asp:RadioButtonList ID="RadioButtonList1" runat="server" DataSourceID="ObjectDataSource1"> </asp:RadioButtonList></div>
Достигается тот же эффект, что и раньше, когда данные вставлялись на странице или в классе страницы, но теперь получение данных инкапсулировано в классе Continent. Класс может изменить способ получения данных, не меняя интерфейса. Чаще всего данные все-таки получают из баз данных, XML-файлов или web-сервисов. Классы бизнес-логики могут разрабатывать одни члены команды, а заниматься дизайном страниц — другие. Их можно использовать и в обычных приложениях в Windows Forms.
Содержание Назад Вперед