Вопрос по архитектуре ASP.Net приложения.
От: Crazy Diamond Россия  
Дата: 12.02.03 19:14
Оценка:
Вопрос такой: как делаются сайты с одним управляющим файлом "Default.aspx"? Например: http://aspnetmania.com или http://gotdotnet.ru .

Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?

Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!
Re: Вопрос по архитектуре ASP.Net приложения.
От: Igor Soukhov  
Дата: 12.02.03 19:36
Оценка: 11 (1)
Здравствуйте, Crazy Diamond, Вы писали:

CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!


http://asp.net/Default.aspx?tabindex=5&tabid=42
* thriving in a production environment *
Re: Вопрос по архитектуре ASP.Net приложения.
От: Vladosha Россия  
Дата: 13.02.03 03:45
Оценка:
Здравствуйте, Crazy Diamond, Вы писали:
CD>Вопрос такой: как делаются сайты с одним управляющим файлом "Default.aspx"?
CD>Например: http://aspnetmania.com или http://gotdotnet.ru .
CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!
например http://www.mian.ru/ построен по такой технологии (правда обычный ASP). У нас юзается база данных и только она. Все берем оттуда. Как организовать ее в твоем случае — думай сам.
Простейший вариант — хранить в БД готовый HTML для отображения. В зависимости от параметра берешь нужный и показываешь.
С уважением, Vladosha.
Re: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 05:58
Оценка:
Здравствуйте, Crazy Diamond, Вы писали:

CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!


Server.Execute() спасет отца русской демократии
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 07:11
Оценка:
Здравствуйте, Crazy Diamond, Вы писали:

CD>Вопрос такой: как делаются сайты с одним управляющим файлом "Default.aspx"? Например: http://aspnetmania.com или http://gotdotnet.ru .


CD>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?


CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!


Смотри System.Web.UI.WebControls.Panel. делаешь два таких котрола, для каждого случая, и в них вставляешь все, что тебе надо для вывода.

<asp:Panel id="ctl1" runat="server">
  <h1>Первый случай</h1>
</asp:Panel>
<asp:Panel id="ctl1" runat="server" Visible="False">
  <h1>Второй случай</h1>
</asp:Panel>


и потом меняешь св-во visible,

    Sub LinkButton1_Click(sender As Object, e As EventArgs)
        ctl2.Visible = true
        ctl1.Visible = false
    End Sub



И собственно все.
Re[2]: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 07:38
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>Смотри System.Web.UI.WebControls.Panel. делаешь два таких котрола, для каждого случая, и в них вставляешь все, что тебе надо для вывода.


D>и потом меняешь св-во visible,


D>И собственно все.


Представляешь себе размер такой странички для целого сайта?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[3]: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 07:51
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, darkwolf, Вы писали:


D>>Смотри System.Web.UI.WebControls.Panel. делаешь два таких котрола, для каждого случая, и в них вставляешь все, что тебе надо для вывода.


D>>и потом меняешь св-во visible,


D>>И собственно все.


AVK>Представляешь себе размер такой странички для целого сайта?


AVK>

А кому сейчас легко
А на самом деле, не весь же код будет передаваться клиенту, а только та панель, которая visible=true, и если не нравиться впрямую вставлять код, то можно использовать User Controls пример хорошо описан здесь. Так что полигон, где развернуться есть.
Re[4]: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 09:48
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>А кому сейчас легко

D>А на самом деле, не весь же код будет передаваться клиенту, а только та панель, которая visible=true, и если не нравиться впрямую вставлять код, то можно использовать User Controls пример хорошо описан

Все равно это фиговая идея. Так можно сделать еслим у тебя 2-3 панельки. А когда их полсотни то это превращается черти во что. Да и не понятно зачем так извращаться если есть простое решение?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[5]: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 09:50
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, darkwolf, Вы писали:


D>>А кому сейчас легко

D>>А на самом деле, не весь же код будет передаваться клиенту, а только та панель, которая visible=true, и если не нравиться впрямую вставлять код, то можно использовать User Controls пример хорошо описан

AVK>Все равно это фиговая идея. Так можно сделать еслим у тебя 2-3 панельки. А когда их полсотни то это превращается черти во что. Да и не понятно зачем так извращаться если есть простое решение?


Простое это какое, через Server.Execute()?
Re[6]: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 09:54
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>Простое это какое, через Server.Execute()?


Да
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[7]: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 09:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, darkwolf, Вы писали:


D>>Простое это какое, через Server.Execute()?


AVK>Да


Нда...Ну чтож, удачи.
Re[8]: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 10:28
Оценка:
Здравствуйте, darkwolf, Вы писали:

AVK>>Да


D>Нда...Ну чтож, удачи.


А что такой пессимизм то? Удача мне не нужна — тот проект где это применялось давно закончен.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[9]: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 10:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, darkwolf, Вы писали:


AVK>>>Да


D>>Нда...Ну чтож, удачи.


AVK>А что такой пессимизм то? Удача мне не нужна — тот проект где это применялось давно закончен.


Просто не думаю, что делая проект на ASP.NET использовать метод Server.Execute() было-бы оптимальным решением.
Re[10]: Вопрос по архитектуре ASP.Net приложения.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.03 10:41
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>Просто не думаю, что делая проект на ASP.NET использовать метод Server.Execute() было-бы оптимальным решением.


Почему?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[10]: Вопрос по архитектуре ASP.Net приложения.
От: Gollum Россия  
Дата: 13.02.03 10:42
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>Просто не думаю, что делая проект на ASP.NET использовать метод Server.Execute() было-бы оптимальным решением.


Интересно было бы услышать, почему.
... << RSDN@Home 1.0 beta 5 >>
Eugene Agafonov on the .NET

Re[11]: Вопрос по архитектуре ASP.Net приложения.
От: darkwolf Россия  
Дата: 13.02.03 13:47
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, darkwolf, Вы писали:


D>>Просто не думаю, что делая проект на ASP.NET использовать метод Server.Execute() было-бы оптимальным решением.


G>Интересно было бы услышать, почему.


Потому что asp.net дает немного другие возможности, и философия его построена на использовании web contorls и др. классов .NET.
Re[12]: Вопрос по архитектуре ASP.Net приложения.
От: Gollum Россия  
Дата: 13.02.03 13:54
Оценка:
Здравствуйте, darkwolf, Вы писали:

D>Потому что asp.net дает немного другие возможности, и философия его построена на использовании web contorls и др. классов .NET.


A HTTPServer — это не класс .Net? И мне непонятно, чем же использование Server.Execute на различные aspx странички не вписывается в "философию" ASP.Net
... << RSDN@Home 1.0 beta 5 >>
Eugene Agafonov on the .NET

Re[2]: Вопрос по архитектуре ASP.Net приложения.
От: Аноним  
Дата: 15.02.03 20:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Crazy Diamond, Вы писали:


CD>>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!


AVK>Server.Execute() спасет отца русской демократии



А спасет ли?
В общем случае все нормально, то есть спасет, но вот что непонятно и не нравится:
В самом тексте 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. Почему это произошло?
Re: Вопрос по архитектуре ASP.Net приложения.
От: dertotejunge  
Дата: 17.02.03 12:04
Оценка:
Здравствуйте, Crazy Diamond, Вы писали:

CD>Вопрос такой: как делаются сайты с одним управляющим файлом "Default.aspx"? Например: http://aspnetmania.com или http://gotdotnet.ru .


CD>Надо сделать такую же штуку. Чтобы по-умолчанию Default.aspx выводил данные из одной таблицы, с определённым параметром, например: Default.aspx?page=web, — выводил данные из другой таблицы совсем в другом виде и с другими контроллами, с возможностью редактировать и обновлять. Немного не понятна сама архитектура такого файла. Не делается же это всё блоками if...else или switch...case?


CD>Может кто-нибудь объяснит или ссылку на документацию кинет. Буду премного благодарен!


А не проще ли сделать так — пишешь несколько Web User Controlo'ов — каждый из них соответствует какой — либо страничке, например MyControl1 и MyControl2
в Default пишешь

switch(MyPage)
{
case 1 :
{
Controls.Add((UserControl)LoadControl(MyControl1.ascx));
break;
}
}

и потом дергаешь Default.aspx?MyPage=1

по-моему самое простое решение.....
Re[11]: Вопрос по архитектуре ASP.Net приложения.
От: TK Лес кывт.рф
Дата: 17.02.03 13:19
Оценка:
Здравствуйте, Gollum, Вы писали:

D>>Просто не думаю, что делая проект на ASP.NET использовать метод Server.Execute() было-бы оптимальным решением.


G>Интересно было бы услышать, почему.


Во первых использование Server.Execute (в контексте первоначального вопроса) не является достаточным условием. И используя его мы можем получить сразу несколько проблем:

Пример 1.
Возьмем за основу первоначальный вопрос. Есть HttpHandler для default.aspx мы вызываем Server.Execute на another.aspx. итог: в сгенерированной странице атрибут action для тега form будет указывать на another.aspx. (хотя нам потенциально нужен default.aspx). Естественно, что это легко обходится, но все-таки.

Пример 2.
Совсем простой случай: мы определяем HttpHandler для *.aspx расширения. Как нам выполнить после этого исходную страницу? Естественно, что Server.Execute здесь не помошник.

Итого можно сказать, что: Использование Server.Execute не всегда позволяет достичь нужных целей, вносит дополнительную избыточнось и подходить к его использованию нужно очень осторожно.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.