Здравствуйте, TK, Вы писали:
TK>Итого можно сказать, что: Использование Server.Execute не всегда позволяет достичь нужных целей, вносит дополнительную избыточнось и подходить к его использованию нужно очень осторожно.
Это высказывание применимо к очень и очень многим вещам.
Я считаю, что в контексте данного треда пользоваться вполне можно.
Здравствуйте, Gollum, Вы писали:
TK>>Итого можно сказать, что: Использование Server.Execute не всегда позволяет достичь нужных целей, вносит дополнительную избыточнось и подходить к его использованию нужно очень осторожно.
G>Это высказывание применимо к очень и очень многим вещам. G>Я считаю, что в контексте данного треда пользоваться вполне можно.
Только, вот про то, что нужно еще использовать HttpContext.RewritePath (кажется) никто не упомянул. А без него данное решение будет половинчатым.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, Аноним, Вы писали:
А>В самом тексте HTML, который можно посмотреть в браузере в form action будет другая страница, но с теми же параметрами А>HTTP запроса. Например, если со страницы Default.aspx переходим на Default.aspx?Page=2, а при анализе запроса допустим А>проверяем, если а Page = 2, то Server.Execute(“Second.aspx”); При этом в поле адреса браузера показывается А>Default.aspx?Page=2, а вот если посмотреть на HTML код, тогда form action почему-то = “Second.aspx?Page=2”. А не как ожидалось А>Default.aspx?Page=2. Почему это произошло?
HttpContext.RewritePath
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Только, вот про то, что нужно еще использовать HttpContext.RewritePath (кажется) никто не упомянул. А без него данное решение будет половинчатым.
То что здесь предлагали (например сделать одну большую страницу с кучей панелей) еще хуже.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, Аноним, Вы писали:
А>>В самом тексте HTML, который можно посмотреть в браузере в form action будет другая страница, но с теми же параметрами А>>HTTP запроса. Например, если со страницы Default.aspx переходим на Default.aspx?Page=2, а при анализе запроса допустим А>>проверяем, если а Page = 2, то Server.Execute(“Second.aspx”); При этом в поле адреса браузера показывается А>>Default.aspx?Page=2, а вот если посмотреть на HTML код, тогда form action почему-то = “Second.aspx?Page=2”. А не как ожидалось А>>Default.aspx?Page=2. Почему это произошло?
TK>HttpContext.RewritePath
Не помогает!!!
Кстати выплыла такая проблема, что Server.Execute не работает из, например, события нажатия кнопки. Зато работает из PageInit.
Почему?
Ну, тогда можно результат отфильтровать... Или использовать альтернативные методы.
А>Кстати выплыла такая проблема, что Server.Execute не работает из, например, события нажатия кнопки. Зато работает из PageInit. А>Почему?
И какие симптомы этой неработы?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Вопрос по архитектуре ASP.Net приложения.
От:
Аноним
Дата:
21.02.03 14:12
Оценка:
Здравствуйте, TK, Вы писали:
Удалено излишнее цитирование
А>>Кстати выплыла такая проблема, что Server.Execute не работает из, например, события нажатия кнопки. Зато работает из PageInit. А>>Почему?
TK>И какие симптомы этой неработы?
Вываливается и пишет: The View State is invalid for this page and might be corrupted.
Здравствуйте, TK, Вы писали:
А>>В самом тексте HTML, который можно посмотреть в браузере в form action будет другая страница, но с теми же параметрами А>>HTTP запроса. Например, если со страницы Default.aspx переходим на Default.aspx?Page=2, а при анализе запроса допустим А>>проверяем, если а Page = 2, то Server.Execute(“Second.aspx”); При этом в поле адреса браузера показывается А>>Default.aspx?Page=2, а вот если посмотреть на HTML код, тогда form action почему-то = “Second.aspx?Page=2”. А не как ожидалось А>>Default.aspx?Page=2. Почему это произошло?
TK>HttpContext.RewritePath
Вот Вы, TK, на все вопросы отвечаете ссылкой на метод HttpContext.RewritePath. И он действительно может помоч, но только если все переходы осуществляются методом GET. А как быть с методом POST? Как сделать так, чтобы все страницы постили данные на Default.aspx, а уже в нем делалась разводка по остальным страницам?
А так получается, что если делать Server.Execute("Find.aspx"), то в форме получается <form name="form" method="post" action="Find.aspx?action=020000" id="form">, а хотелось бы видеть вот такое:
<form name="form" method="post" action="index.aspx?action=020000" id="form">
И никак ты этот action не поменяешь.
А жаль...
Здравствуйте, Аноним, Вы писали:
AVK>>Server.Execute() спасет отца русской демократии
А>HTTP запроса. Например, если со страницы Default.aspx переходим на Default.aspx?Page=2, а при анализе запроса допустим А>проверяем, если а Page = 2, то Server.Execute(“Second.aspx”);
Как я понял, то такое решение не избавит нас от необходимости плодить *.aspx страницы. У нас лишь внешене будет видимость. А вот у меня другая задача:
1. Есть Глвное Меню — TOP. Аналг TabControl'a с выделением текущей вкладки
2. У каждого Раздела из TOP есть свое меню, которое отображается слева.
3. Существует множество так называемых страниц. Для каждой странице не обязательно есть свой пункт в TOP->LeftMenu. Ссылка на нее может встречаться просто в других страницах, но если в TOP->LeftMenu есть ссылка то ессно при просмотре этой страницы должен быть выделен соответсвующий TOP и соотв. пункт в LeftMenu.
Далее..
4. Страница может быть как статической, просто отображающей какой-либо текст, так и может содержать UserControl, который в свою очередь как правило явл-ся контролером как-ого либо бизнес-процесса, т.е. содержит в себе другие UserControls и переключает их.
Я описал все страницв в map.xml, создал еще один menu.xml и в нем слепил меню из нужных мне страниц, сделал свои структуры myMenuClass, myMapClass и кеширую в Application. При запросе default.aspx?t=page, смотрю какой page и генерирую соотв HTML для TOP и LeftMenu. Всем итим занимает один UserControl — Navigator, в в
default.aspx просто в нужных местах прописано <% nav.TopMenu(); %>, <% nav.LeftMenu(); %> текст для страниц подгружается из .inc указанных в map.xml, поскольку он редко меняется.
Но как быть с UserControls? Есть ли алтернатива предложенному здесь способу — т.е. не лепить их всех например на тот же Navigator и не щелкать visible=true|false?
Прокоментируйте плиз мое решение.
Re[15]: Вопрос по архитектуре ASP.Net приложения.
От:
Аноним
Дата:
05.08.03 00:17
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, TK, Вы писали:
TK>>Только, вот про то, что нужно еще использовать HttpContext.RewritePath (кажется) никто не упомянул. А без него данное решение будет половинчатым.
AVK>То что здесь предлагали (например сделать одну большую страницу с кучей панелей) еще хуже.
Здравствуйте, Crazy Diamond, Вы писали:
CD>Вопрос такой: как делаются сайты с одним управляющим файлом "Default.aspx"? Например: http://aspnetmania.com или http://gotdotnet.ru .
CD>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?
CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!
Здравствуйте, Crazy Diamond, Вы писали:
CD>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?
А что мешает взять словарь или хэш таблицу, и делать что-то типа
Dim myControl As Object
Dim myTable As New System.Collections.Specialized.StringDictionary
myTable("web") = "myUserControl1.ascx"
myTable("other") = "myUserControl2.ascx"Dim key As String = Request.Params("page")
myControl = LoadControl(myTable(key))
Здравствуйте, Crazy Diamond, Вы писали:
CD>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?
А почему бы не использовать готовые движки типа IBuySpy
Здравствуйте, thor, Вы писали:
T>Здравствуйте, Crazy Diamond, Вы писали:
CD>>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?
T>А почему бы не использовать готовые движки типа IBuySpy
Сам IbuySpy уже немного не в моде, стоит смотреть или Nuke или Rainbow
Здравствуйте, mogadanez, Вы писали:
R>>только столкнулся с проблемой, что тяжело раздать права в Web.Config R>> <location path="default.aspx?page=web"> R>> не понимает
M>имхо в таком случае права надо раздавать и проверять на уровне отдельных контролов- модулей.
да так и делаю, только не очень гибко, код править нужно если что..
... << RSDN@Home 1.1.0 stable >>
Re[4]: Вопрос по архитектуре ASP.Net приложения.
От:
Аноним
Дата:
04.01.04 11:33
Оценка:
Здравствуйте, oRover, Вы писали:
R>Здравствуйте, mogadanez, Вы писали:
R>>>только столкнулся с проблемой, что тяжело раздать права в Web.Config R>>> <location path="default.aspx?page=web"> R>>> не понимает
M>>имхо в таком случае права надо раздавать и проверять на уровне отдельных контролов- модулей.
R>да так и делаю, только не очень гибко, код править нужно если что..
зачем,сами права держать в базе или xml файлах.
модуль только проверяет.
Здравствуйте, oRover, Вы писали:
R>Здравствуйте, <Аноним>, Вы писали:
А>>зачем,сами права держать в базе или xml файлах. А>>модуль только проверяет.
R>да вот в каждом модуле это учитывать...
сделать базовый класс модуля, и наследовать от него все модули