Я работаю над модулем DotNetNuke на C#, и, чтобы уменьшить сложность, я решил попытаться сохранить конфигурацию модуля на одной странице (кроме стандартного модуля настроек). Теперь мне интересно, насколько это мудрая идея.
Мой модуль представляет собой простую галерею изображений с одним или несколькими изображениями. Каждое изображение имеет заголовок, источник изображения (URL) и пункт назначения (другой URL). Поэтому я решил, что для моего интерфейса администратора у меня может быть простая «сетка» данных, где вы можете редактировать все существующие записи или добавлять новые, все на одной странице, примерно так:
Title Image URL Anchor HREF [A Picture! ] [http://www.example.com/image.jpg ] [http://www.example.com] [Another Picture!] [http://www.example.com/image2.jpg] [http://www.example.net] [ ] [ ] [ ]
Просматривая WebControls, я нашел GridView, который на первый взгляд показался мне тем, что я искал. Однако, внимательно изучив его, я обнаружил, что он должен быть привязан непосредственно к источнику данных, в то время как кажется, что стандарт DotNetNuke для выполнения действий на уровне доступа к данным заключается в создании набора объектов данных, например:
// EditDiscovery.ascx.cs
DiscoveryController objDiscoverys = new DiscoveryController();
List<DiscoveryInfo> lstDiscoveries = objDiscoverys.GetDiscoverys(ModuleId);
// DiscoveryController.cs
public List<DiscoveryInfo> GetDiscoverys(int ModuleId) {
return CBO.FillCollection<DiscoveryInfo>(DataProvider.Instance().GetDiscoverys(ModuleId));
}
Есть ли что-то, чего мне не хватает в GridView, или мне следует изменить функцию GetDiscoverys, чтобы она возвращала набор данных, а не список объектов DiscoveryInfo? Или есть лучший подход, который лучше согласуется с DAL DotNetNuke?