Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: IB>Здравствуйте, Mike Chaliy, Вы писали: MC>>Вобщемто предположим что вам надо добиться максимальной отдачи при минмальных затратах. На какой реализации вы бы остановились? IB>Я бы реализовал все через интерфейсы, а поверх бы этого прикрутил ODS для дизайнеров. Дело в том, что они все равно используют некие соглашения по клиентскому коду (при использовании ODS мы должны указать тип и его методы). И проблем задекларировать эти соглашения в явном виде через интерфейсы нет. В этом случае был бы единый механизм и для тех кто хочет использовать дизайнер идля тех кому он не нужен, сейчас же тем, кому дизайнер не нужен, приходится реализовывать руками то, что уже реализовано в MS. Вернемся к нашим баранам, в часности к BuildManager. Как вы думаете зачем он нужен? Мое мнение что он для лейт бинднига. Тоесть если в нашей страничке ненужен код из App_Code она не будет подгружать эту либу. Теперь разберемся с нашими примерами. В случае с реализацией через интрфейс код из App_Code нужен всегда. Даже если какойто колбек(аджакс) нетребующий перебиндивания будеты вызван, то будет подгружаться и App_Code. В случае с реализацией через BuildManager этого не будет. Он вообшще будет компилиться только на момент когда он понадобиться (ессно если не использовать прекомпил). Может быть всетаки лучше отдать прерогативу создания этих обьектов инраструктуре асп.нета? Поправте если че не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 19:39 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Ответ: MC>Он использует BuildManager который принимает строку. Соответвенно нет необходимости делать его типизированым. Более того на момент компиляции страницы бизнс слоя может еще не существовать. Поєтому и используеться BuildManager. App_Code компилируется перед as*x, так что все существует. Споры по поводу ObjectDatasource imho вообще бессмысленны. Вы же не возмущаетесь, что в странице можно использовать SqlDataSource? Это для экспресс-написания маленьких приложений.По всей Смоленщине нет кокаина — это временный кризис сырья ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 20:09 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>Здравствуйте, Mike Chaliy, Вы писали: MC>>Ответ: MC>>Он использует BuildManager который принимает строку. Соответвенно нет необходимости делать его типизированым. Более того на момент компиляции страницы бизнс слоя может еще не существовать. Поєтому и используеться BuildManager. G>App_Code компилируется перед as*x, так что все существует. Споры по поводу ObjectDatasource imho вообще бессмысленны. Вы же не возмущаетесь, что в странице можно использовать SqlDataSource? Это для экспресс-написания маленьких приложений. А с чего вы взяли что она в домене? Что ее не придеться подгружать? Ткните ка меня носом. А то чета не могу найти инфы по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 20:36 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Sacode, Вы писали: S>Дык вопрос в том, что при таком подходе в классе может быть только один метод Select, а в изначальном классе их три. Получается, что нужно делать три класса, по одному на каждый метод выборки. Зачем? У тебя же не стоит задача обязательно воспользоваться всеми методами DataManager, твоя задача — реализовать необходимый набор интерфейсов корректного байнднинга, ну и что, что при этом не все возможности DataManager будут использованы? S> А насчет связей не совсем понял. Используются методы PresentationLayer и ни каких других слоев больше не упоминается. S>Схема такая: А к модели и с DAL-ом у тебя кто обращается?... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 11:27 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G> Вы же не возмущаетесь, что в странице можно использовать SqlDataSource? Я? Я-то как раз возмущаюсь, поубивав-бы.. :)... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 11:27 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC> В случае с реализацией через интрфейс код из App_Code нужен всегда. Да он и так всегда нужен, даже при текущей схеме. Как только дело доходит до ODS он вынужден поднимать мой класс-обертку из код-бихаинда.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 11:27 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: IB>Здравствуйте, Mike Chaliy, Вы писали: MC>> В случае с реализацией через интрфейс код из App_Code нужен всегда. IB>Да он и так всегда нужен, даже при текущей схеме. Как только дело доходит до ODS он вынужден поднимать мой класс-обертку из код-бихаинда. Я вообщето привел пример с аджаксом которому ненужны данные. Ну например генерация календаря. Это все на одной страничке. Есть грид юзающий ОДС и календарик ничего не юзающий. Грид использует колбеки для пейджинга, а календарик для того чтобы перерендериться например при изменении месяца. Это синтетический пример. Суть не в нем. Суть в вопросе (повторюсь): Может быть всетаки лучше отдать прерогативу создания обьектов инраструктуре асп.нета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 12:31 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Суть в вопросе (повторюсь): Может быть всетаки лучше отдать прерогативу создания обьектов инраструктуре асп.нета? Да байта ради, наличие интерфейса тут ничего не изменит. В одном случае ODS ссылается на произвольный класс, в другом на класс реализующий определенный набор интерфейсов, с точки зрения компиляции разницы никакой.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 12:40 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: IB>Здравствуйте, Mike Chaliy, Вы писали: MC>>Суть в вопросе (повторюсь): Может быть всетаки лучше отдать прерогативу создания обьектов инраструктуре асп.нета? IB>Да байта ради, наличие интерфейса тут ничего не изменит. В одном случае ODS ссылается на произвольный класс, в другом на класс реализующий определенный набор интерфейсов, с точки зрения компиляции разницы никакой. Вы не ответели на мой вопрос. Я не говорю про часный случай когда странице в любом ее состоянии нужны данный. Существуют состояния когда ей данные ненужны (я уже обрисовывал синтетическую ситуацию с колбеками, могу даже пример привести, например каледнадрик генерящийся на сервреи отдающейся через колбеки). И еще раз подчеркну что ОДС не ссылаеться никуда. Там храниться строка, по кторой обьект достаеться только в момент DataBind. И еще. Уже речь не идет про компиляцию. Как правилно заметил Gollum App_Code компилиться всегда. Теперь уже речь идет о подгрузки Апп_Коде в домен. Опять же про ситуацию когда по какойто причине на момент колбека Апп_Коде в домен не подгружена. Я просто к чему подвожу. К универсальности решения. Микрософт сдела фактори для создания обьектов. Я не вижу причины по которой не использовать собтвенно эту фактори? Как минимум это подерживаемое решение, и микрософт на него не забьет(теоретически). Более того как по мне так следующий асп.нет будет очень завязан на колбеках и тому подобному. Я уже гдето слышал про то што туда включат атлас. А это обозначает что значение этого механизма может в одночасье вырости ;)). С другой стороны я не вижу ограничений и на прямое создание обьекта. Мои примеры достаточно синтетически. Да и к томуже затратами на подгрузку Апп_Кода можно пренебречь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 14:39 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Вы не ответели на мой вопрос. Ответил. MC>И еще раз подчеркну что ОДС не ссылаеться никуда. Там храниться строка, по кторой обьект достаеться только в момент DataBind. Замечательно. Так в чем разница, указывается в этой строке произвольный тип или тип реализующий конкретный набор интерфейсов? MC>Я просто к чему подвожу. К универсальности решения. Решение с интерфейсами более универсально, оно не требует обязательного присутствия ODS в aspx. MC> Микрософт сдела фактори для создания обьектов. Я не вижу причины по которой не использовать собтвенно эту фактори? Я вижу — эта фабрика не типизирована и привязана к aspx.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:17 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: S>>Дык вопрос в том, что при таком подходе в классе может быть только один метод Select, а в изначальном классе их три. Получается, что нужно делать три класса, по одному на каждый метод выборки. IB>Зачем? У тебя же не стоит задача обязательно воспользоваться всеми методами DataManager, твоя задача — реализовать необходимый набор интерфейсов корректного байнднинга, ну и что, что при этом не все возможности DataManager будут использованы? Ну я и говорю, что получается будет несколько классов с интерфейсом ISelectable на один DataManager на разные случаи. И я недопонял? Много кода получается. Неплохо было-бы совместить DataManager и интерфейсы в одном классе. Уточню, что DataManager — это не DataAccess, это просто класс для получения данных и монипулирования ими. Например, в моем случае — это просто обертка над прокси, сгенеренными средой для WebService'ов. S>> А насчет связей не совсем понял. Используются методы PresentationLayer и ни каких других слоев больше не упоминается. S>>Схема такая: IB>А к модели и с DAL-ом у тебя кто обращается? DAL у меня вообще в другом звене (Application tier). А про роль DataManager'а я написал выше. Не удачно я его назвал здесь, в проекте он называется Presenter (тот самый хелпер), как я уже упоминал где-то в этом топике. Напомню свой случай: - ASPX --------------------- - PresentationLogic ----------------------------------------------------------------- - Вне приложения - GridView -> ObjectDataSource -> PresentationLogic.EntityPresenter (тот самый условный DataManager) -> WebServiceProxy -> WebService -> ...... << RSDN@Home 1.1.4 stable rev. 510>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:33 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: IB>Я? Я-то как раз возмущаюсь, поубивав-бы.. :) И я возмущаюсь. Посмотрите на тьюториалы от MS. Это все от лукавого :)And please don't stick Thy servants, Lord, in a Rotissomat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:40 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>А с чего вы взяли что она в домене? Что ее не придеться подгружать? Ткните ка меня носом. А то чета не могу найти инфы по этому поводу. Что и как компилируется можно посмотреть например, здесь Классы из App_Code всегда доступны для использования страницами, т.к. она компилируется раньше, reference на нее автоматически добавляется для всех as*x. Потом компилируются страницы, и одна не видит другую, т.к. они в разных сборках и у них нет reference друг на друга. Про домен и подгрузку не понял вопроса. Происходит процедура, практически аналогичная вызову компилятора с reference на уже скомпилированную сборку из App_Code. Причем, можно указать в конфигурационном файле чтобы поддиректории App_Code компилировались в разные сборки, тогда референс будет стоять на все получившиеся сборки.And please don't stick Thy servants, Lord, in a Rotissomat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:52 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Sacode, Вы писали: S>Ну я и говорю, что получается будет несколько классов с интерфейсом ISelectable на один DataManager на разные случаи. Можно и так, но, но такая ситуация редка. Собственно сейчас ровно тоже самое, когда с ODS работаешь. Вообще, поскольку за создание класса-обертки ты отвечаешь сам, то при создании можешь определить стратегию работы обертки с DataManager-ом, ну и реализовать одну обертку с несколькими стратегиями, если нужно. S>Много кода получается. Неплохо было-бы совместить DataManager и интерфейсы в одном классе. Ну совмести, хотя я бы наверное разнес, впрочем от ситуации зависит.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:55 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: MC>>И еще раз подчеркну что ОДС не ссылаеться никуда. Там храниться строка, по кторой обьект достаеться только в момент DataBind. IB>Замечательно. Так в чем разница, указывается в этой строке произвольный тип или тип реализующий конкретный набор интерфейсов? Тут у вас какое-то непонимание по поводу присутствия нужных типов на момент компиляции приложения. Абстрагируясь от App_Code, если сделать reference на Class Library Project, уж он то точно будет доступен. MC>>Я просто к чему подвожу. К универсальности решения. IB>Решение с интерфейсами более универсально, оно не требует обязательного присутствия ODS в aspx. +1 MC>> Микрософт сдела фактори для создания обьектов. Я не вижу причины по которой не использовать собтвенно эту фактори? IB>Я вижу — эта фабрика не типизирована и привязана к aspx. +1. З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) Если у вас большое приложение, то там все будет уже написано в DAL, использовано в BL. В принципе можно обернуть BL в ODS и использовать в UI, если надо приклепать по-быстренькому сбоку. Если по-хорошему, то будет своя реализация, будь то MVC или MVP, или еще чтото, и ODS в этой модели просто лишний.Моя смерть ездит в черной машине с голубым огоньком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:05 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) Так-то оно так, но вот только в ODS есть часть функционала, который ручками реализуется муторно и некрасиво.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:30 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: G>>З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) IB>Так-то оно так, но вот только в ODS есть часть функционала, который ручками реализуется муторно и некрасиво. Написать своего наследника DataSourceControl?Мы сделали все как нужно и теперь не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 17:03 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>Здравствуйте, IB, Вы писали: MC>>>И еще раз подчеркну что ОДС не ссылаеться никуда. Там храниться строка, по кторой обьект достаеться только в момент DataBind. IB>>Замечательно. Так в чем разница, указывается в этой строке произвольный тип или тип реализующий конкретный набор интерфейсов? G>Тут у вас какое-то непонимание по поводу присутствия нужных типов на момент компиляции приложения. Абстрагируясь от App_Code, если сделать reference на Class Library Project, уж он то точно будет доступен. Еще раз. При использовании интрфейсов в коде страницы они в месте с Апп_Коде будут подгружены в домен приложения. Если ссылок на эти интерфейсы в странице небудет. То ничего никуда пожгружаться не будет. Может быть небудем громко заявлять о моем неразбирании, а вы или разберетесь с механизмами компиляции в асп.нет или обьясните мне где я заблуждаюсь. G>З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) Если у вас большое приложение, то там все будет уже написано в DAL, использовано в BL. В принципе можно обернуть BL в ODS и использовать в UI, если надо приклепать по-быстренькому сбоку. Если по-хорошему, то будет своя реализация, будь то MVC или MVP, или еще чтото, и ODS в этой модели просто лишний. Попахивает програмированием ради програмирования — неболее. Вы лучше минусы назовите. Например для минус в том что его неззя использовать из кода — минусом неявляються вовсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 23:29 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, IB, Вы писали: IB>Здравствуйте, Mike Chaliy, Вы писали: MC>>И еще раз подчеркну что ОДС не ссылаеться никуда. Там храниться строка, по кторой обьект достаеться только в момент DataBind. IB>Замечательно. Так в чем разница, указывается в этой строке произвольный тип или тип реализующий конкретный набор интерфейсов? Странно или есть ссылка на интрфейс из Апп_Код или нет. Для вас в контексте разговара про BuildManager нет никакой разницы? MC>>Я просто к чему подвожу. К универсальности решения. IB>Решение с интерфейсами более универсально, оно не требует обязательного присутствия ODS в aspx. Можно разговаривать не про ОДС. Через єтот механизм создаеться все включая странички. MC>> Микрософт сдела фактори для создания обьектов. Я не вижу причины по которой не использовать собтвенно эту фактори? IB>Я вижу — эта фабрика не типизирована и привязана к aspx. Нетипизирована, потому что кроме обьектов могут создаваться странички, темы, скины, ваши кастомные что-то. Вобщемто все на что есть BuildProvider. Другого способа нет. Менеджеру необходимо знать что компилить. Для того чтобы задать путь, тип самым универсальным спосбом явлеться строка. Его можно было бы обернуть во чтонить по типу Ури. Но иммет ли это смысл? Это уже другой вопрос. Типизированноси от этого не прибавилось. Для типизированости надо все скомпилить. Схема компиляции такова что именно инраструктура асп.нет следит за компиляцией. Гы, чейто она привязана? Мы же про BuildManagr говорим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 23:39 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>Здравствуйте, IB, Вы писали: G>>>З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) IB>>Так-то оно так, но вот только в ODS есть часть функционала, который ручками реализуется муторно и некрасиво. G>Написать своего наследника DataSourceControl? IB нехочет испольщовать из дизанера. Не из дизайнера придеться еще и доробатывать ГридВью. В часноти переопределить GetDataSource и GetData. Иначе все датасоурсы оборачиваються в ReadOnlyDataSource. Вобщемто я рад что у меня нет страха перед дизайнерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 23:49 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>Здравствуйте, Mike Chaliy, Вы писали: MC>>А с чего вы взяли что она в домене? Что ее не придеться подгружать? Ткните ка меня носом. А то чета не могу найти инфы по этому поводу. G>Что и как компилируется можно посмотреть например, здесь G>Классы из App_Code всегда доступны для использования страницами, т.к. она компилируется раньше, reference на нее автоматически добавляется для всех as*x. Потом компилируются страницы, и одна не видит другую, т.к. они в разных сборках и у них нет reference друг на друга. Да. Ну так пропаблишите(незабудте галочку поставить про то что контент был неапдейченый, иначе он скомпили тока предварительный класс) страничку в кторой ОДС используеться в дизайн тайме. А потом найдите референс нв Апп_Коде. Как найдете отпишитесь. G>Про домен и подгрузку не понял вопроса. Происходит процедура, практически аналогичная вызову компилятора с reference на уже скомпилированную сборку из App_Code. Причем, можно указать в конфигурационном файле чтобы поддиректории App_Code компилировались в разные сборки, тогда референс будет стоять на все получившиеся сборки. Я думаю вы этот вопрос лучше поймете, когда не найдете реферонсов на Апп_Коде. Более того рефренс на собрку никогда не означает ее подгрузку в домен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 00:50 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Здравствуйте, Gollum, Вы писали: G>>Здравствуйте, IB, Вы писали: G>>>>З.Ы. ODS — это такой экспресс-враппер, сделанный для того чтобы быстро клепать небольшие приложения и не испугать новичков интерфейсами и прочей фигней :) IB>>>Так-то оно так, но вот только в ODS есть часть функционала, который ручками реализуется муторно и некрасиво. G>>Написать своего наследника DataSourceControl? MC>IB нехочет испольщовать из дизанера. Не из дизайнера придеться еще и доробатывать ГридВью. В часноти переопределить GetDataSource и GetData. Иначе все датасоурсы оборачиваються в ReadOnlyDataSource. MC>Вобщемто я рад что у меня нет страха перед дизайнерами. Уматно ;)) ObjectDataSource dataSource = new ObjectDataSource(); this.Controls.Add(dataSource); dataSource.ID = "EmployeesDataSource"; dataSource.OldValuesParameterFormatString = "original_{0}"; dataSource.SelectMethod = "GetEmployes"; dataSource.TypeName = "EmployeesDataAdapter"; dataSource.EnablePaging = true; dataSource.MaximumRowsParameterName = "pageSize"; dataSource.SelectCountMethod = "GetEmployeesCount"; dataSource.StartRowIndexParameterName = "startIndex"; Parameter sortParameter = new Parameter(); dataSource.SelectParameters.Add(sortParameter); sortParameter.Name = "srotExpression"; sortParameter.Type = TypeCode.String; this.GridView1.DataSourceID = dataSource.ID; Работает. Проблема в том что всерано придеться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 01:24 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Странно или есть ссылка на интрфейс из Апп_Код или нет. Ее в любом случае нет. Меня не интересует как aspx будет узнавать о наличии нужного адаптера, хоть голубиной почтой, мне важна возможность пользоваться функционалом без aspx и BuildManager-а. В aspx-е все останется по прежнему. MC>Для вас в контексте разговара про BuildManager нет никакой разницы? Так. На словах не доходит, пробую на примере, следите за руками: То как есть сейчас: .....cs public class Adapter { IEnumerable SelectMethod() { } } .....aspx <asp:ObjectDataSource ... SelectMethod="SelectMethod" TypeName="Adapter"> То, о чем говорю я: .....cs public class Adapter : ISelectable { IEnumerable ISelectable. SelectMethod() { } } // использовать можно в .cs - файле // GridView.SetSelectable = Adapter; // Или, если очень хочется использовать .aspx, то можно по старинке // .....aspx <asp:ObjectDataSource ... TypeName="Adapter"> Во втором случае в ObjectDataSource содержится та же строка SelectMethod="SelectMethod", но указывать ее явно нет необходимости, так как нужный класс обязан реализовывать соответствующий интерфейс, тем самым все имена методов известны заранее. С точки зрения пользования BuildManager разницы между этими двумя способами нет. Но во втором случае была бы возможность пользоваться функционалом ODS и без участия aspx. MC>Можно разговаривать не про ОДС. Через єтот механизм создаеться все включая странички. Можно, но мы сейчас говорим именно про ODS и про возможности которые он предоставляет. MC>Нетипизирована, потому что кроме обьектов могут создаваться странички, темы, скины, ваши кастомные что-то. Это все тоже объекты, но дело не в этом. Мне непонятно, почему сначала не была сделана типизированная фабрика для всех объектов, которые можно задать типизировано, а уже поверх этого сделать нетипизированный механизм для пользования из aspx?... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 11:37 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Вобщемто я рад что у меня нет страха перед дизайнерами. В восемдесят пятый раз объясняю. Дело не в дизайнере, а в том, что ODS работает с не типизированными строками, вместо объектов и возможности использовать его функционал типиировано — нет. Дизайнеру все фиолетово, он может генерить совершенно произвольный код, в любое место приложения, как напишешь.... << RSDN@Home 1.2.0 alpha rev. 0>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 11:37 |
|
||
|
Как использовать ObjectDataSource
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Еще раз. При использовании интрфейсов в коде страницы они в месте с Апп_Коде будут подгружены в домен приложения. MC>Если ссылок на эти интерфейсы в странице небудет. То ничего никуда пожгружаться не будет. Что вы понимаете под "ссылками"? Reference на App_Code есть у всех страниц. Типы из App_Code всегда им доступны. MC>Может быть небудем громко заявлять о моем неразбирании, ??? Никто такого не заявлял. Просто я не могу вообще понять о чем идет речь. MC>Попахивает програмированием ради програмирования — неболее. Вы лучше минусы назовите. Так Иван назвал уже минусы, основной из них слабая типизация.killalll -SIGWALL self ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 12:15 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33925715&tid=1390440]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 394ms |

| 0 / 0 |
