Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Добрый всем вечер. Подскажите, пожалуйста, в какой самый простой способ динамически управлять отображаемым контентом html средствами c#. Суть дела в следующем. В зависимости от пользовательских настроек, сервер должен отдавать тот, или иной вариант html кода. Причем, варианты html между собой мало чем похожи и, фактически, каждый вариант этого html индивидуальный и неповторимый. Это не та ситуация, где большая часть html-разметки стандартная и в местах присутствуют вкрапления серверного кода <% (ну или непосредственно из c#-фала через runat="server"). Тут суть в том, что 90% html-разметки уникальна для каждого конкретного случая. В то же время, остается необходимость в ту, или иную (подгружаемую) html-разметку внедрять результаты серверных вычислений. Так вот вопрос, как это проще реализовать. На ум пришли варианты: 1. Каждому варианту html-разметки создать отдельный пользовательский элемент управления и на странице, в зависимости от настроек, динамически подключать тот, или иной пользовательский элемент и дальше при выполнении страницы работать уже с его свойствами и переменными. В такой способ жестко прописывается html-разметка в пользовательском элементе управления; 2. Сохранить в базе данных все варианты html-разметки. В зависимости от настроек, подтягивать из базы ту, или иную html-разметку, дальше парсить её средствами c# на предмет поиска (заранее внедренных в неё условных меток) и на местах этих меток программно вставлять/заменять вычислимыми данными. 3. Средствами CSS, но тут мне кажется, вообще утопическая идея. Подскажите, какой способ приемлемый, и возможно, есть более простой иной способ. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:10 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolik, Я бы посоветовал первый вариант. Проще в плане разработки и поддержки. И при этом сохраняется чистота кода и модульность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:12 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Ну, подключение к базе отсутствует лишнее. Но может кто подкинет и другие варианты, возможно кто-то на практике подобное реализовал?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:19 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
На практике так и реализовывал как ответил выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:23 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Axeleron, спасибо! Может поделитесь какие трудности возникали, так сказать особенности подхода?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:27 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolik, Трудностей с юзер контролами особых не возникало. Ну только важно понять Page life cycle в рамках одной формы и юзер контрола, и тогда все будет просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:33 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Так? Код: c# 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:34 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Лучше просто делать их невидимыми на форме, а на Page_Load проверять права пользователя и ставить флаг видимость в true. Динамическая загрузка добавляет проблем и головной боли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:38 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Ага! А по скорости отработки, если в ПейджЛоад страницы я определяю какому конролу енейбл указать тру (остальные по умолчанию в енейбл фолс), то насколько я понимаю, процесс инициализации фолсовых контролов не заденет?! Верно? То-есть тот факт, что в разметке они накиданы и зарегистрированы в заголовке страницы (имею в виду серверную часть части разметки), то они ресурсы зря на себя не потянут. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:44 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolik, Не потянут, они просто не зарендерятся и их обьект будет равен null насколько помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 19:59 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Слушай, помоги, пожалуйста, еще советом, если есть время конечно. Нагенерил я достаточно юзерконтролов. Но для большей гибкости мне необходимо иметь открытые свойства и методы в каждом юзерконтроле, что бы вытягивать из них некоторые данные на родительскую страницу, содержащую этот юзерконтрол (многое происходит внутри контрола, но некоторое требуется вытягивать через открытые свойства и методы). Так вот, что бы полиморфно работать с элементом юзерконрола и не зависеть от варианта подключения того, или иного, попытался создать базовый клас для юзерконтрола и унаследовать все от него. Но тут меня ждало разочарование. Также попробовал создать переменную типа юзерконтрола и присвоить ей объект целевого конкретного юзерконтрола, но на его уровне не видны пользовательские свойства контрола (естественно!). Как обойти это обстоятельство? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:06 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Стоит попробовать унаследоваться от пользовательского интерфейса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:10 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolikПодскажите, какой способ приемлемый, и возможно, есть более простой иной способ. Не понял ничего на самом деле, задача поставлена не с того конца вообще. Озвученное решается практически на любой серверной технологии, способной хоть как-то худо-бедно отвечать на HTTP-запросы. Универсальный вариант, возьми бесплатную CMS и не парься. Там можно миллионы уникальных HTML страниц хранить и отдавать. Зацени: мне нужно построить. В зависимости от того, что захочет клиент, надо делать полы, стены, где-то полотки, а где-то нет. Всё индивидуально, это не так, что типа раз комната, два комната, туалет-ванная... Нееееет. Тут хер пойми чо, там неведомая херня, здесь пьяный бомж не разберёт. Ну вы понимаете.. ПОсоветуйте, что делать? Может молотки применять? А пилы нужны? Хотя нет, пилы это утопическая идея. Или может ламинат? Чё там ещё есть? Бетон? Ну давайте, ребятки, накидывайте идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:11 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolik, От пользовательского интерфейса наследоваться все же не стОит :) а вот посадить пользовательские контролы на интерфейс - вполне должно сработать. Только свойства считывать оттуда можно будет на Render или PreRender главной формы насколько я помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:16 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
hVostt, Ты разбуянился. А мы только с работы, трезвые :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:17 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
AxeleronhVostt, Ты разбуянился. А мы только с работы, трезвые :( Вы просто жестите ))) И не трогайте вебформс. Не шевелите труп. И не надо обольщаться тем, что МС его типа поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:20 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
hVostt, Еще куча контор осталась, которые пользуют Формс. Как ни крути... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:27 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Вы правы с одной стороны, но дял того я и спросил кто сталкивался, а не требую, мол давайте мне тут все разъясняйте что и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:28 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
avolikВы правы с одной стороны, но дял того я и спросил кто сталкивался, а не требую, мол давайте мне тут все разъясняйте что и как. До сих пор непонятно, какую проблему ты пытаешься решить. Было бы проще, если бы ты сказал что конкретно нужно, поближе к предметной области. Но универсальный совет я дал, он до сих пор актуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:32 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
AxeleronhVostt, Еще куча контор осталась, которые пользуют Формс. Как ни крути... Да чёто давным-давно уже с такими не сталкивался. Может где-то на задворках, или в подвалах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:33 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
hVostt, А когда последний раз работу менял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:35 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
AxeleronhVostt, А когда последний раз работу менял? Не так давно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:37 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Хорошо, конкретно примерчик накидал: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. И бэккод: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот хочется загнать любой пользовательский контрол (экземпляр) в переменную и уже работать с переменной независимо от того, какой юзерконтрол попадет в переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:48 |
|
||
|
Динамическое управление html-разметкой
|
|||
|---|---|---|---|
|
#18+
Уточнение: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 20:49 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38988567&tid=1356419]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 368ms |

| 0 / 0 |
