| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Программная работа с темами |
| Автор: thomas 18.9.2008, 21:08 | ||
| Привествую всех. Вот возник вопрос: имеем сайтик созданный с использованием ASP.NET, в проекте имеются несколько тем. Так вот, как сделать так что бы посетитель сайта мог сам выбирать себе тему? Обьясните на пальцах, как сиё делаеться. Заранее спасибо. ЗЫ Вот этот кусок лекции
от http://www.intuit.ru/department/se/aspdotnet/13/4.html ничего толком не объясняет. |
| Автор: Idsa 19.9.2008, 05:44 |
| В Page.Theme нужно задать строку, совпадающую с именем одной из тем из App_Themes. А уж как ее передавать: через строку запроса (как в примере), через ViewState или еще как - выбор за Вами. |
| Автор: thomas 19.9.2008, 13:41 |
| Idsa, Приветствую. А поподробнее, на пальцах. А то туп с годами становлюсь, на лету не подхватываю. ЗЫ Сейчас тему задаю в файле web.config вписывая атрибут в <pages |
| Автор: Idsa 19.9.2008, 14:22 | ||
Сейчас Вы указываете в pages theme="theme1", где theme1 - подкаталог в каталоге App_Themes в Вашем проекте. Допустим в App_Themes есть еще один подкаталог - theme2. Тогда можно указать theme="theme2". Аналогично присвоение происходит и в PreInit:
|
| Автор: wotker 19.9.2008, 16:41 | ||
на мой взгляд передавать информацию о глабольных настройках в viewstate (или строке запроса) для реальных сайтов не годится. Лучше в сессии наверное. |
| Автор: thomas 21.9.2008, 11:45 |
| wotker, Idsa, спасибо за отклики конечно. Но все же, обьясните конкретно "на пальцах", что, где и как прописывать чтобы юзверь мог менять тему сайта, например нажав на кнопочку. Заранее спасибо от "туповатого" студента |
| Автор: Idsa 21.9.2008, 11:52 | ||||
| Приведу простой пример. Создаем WebApplication, добавляем в разметку DropDownList, а в codebehind - обработчик Page_PreInit:
Естественно, в папке App_Themes должны быть подпапки, соответствующие названиям тем, хранящимся в списке ThemesDropDownList. |