У нас есть классическая ASP-интрасеть, состоящая из сотен страниц. Его структура каталогов выглядит следующим образом ...
/root
app_1
app_2
...
img
js
style
Очевидно, что app_1 и т. Д. Имеют лучшие имена в реальной структуре каталогов.
Несмотря на то, что многие приложения ведут себя по-разному, все они являются частью одной интрасети и поэтому имеют общий внешний вид, включая таблицы стилей через / style, изображения через / img и клиентский скрипт через /js.
.
Проблема (по крайней мере для меня) возникает, когда я хочу добавить приложение интрасети в ASP.NET.
В конечном счете, я хотел бы эту структуру:
/root
app_1
app_2
dotnetapp_1
dotnetapp_2
...
img
js
style
Мне кажется, что ASP.NET-приложениям нравится думать о себе как об отдельном от всего, что их окружает (это может быть просто моим пониманием того, как они есть). Вы создаете новый «проект» в Visual Studio, и у вас появляется новый «root» уровень ниже фактического root, который я хочу использовать. Как будто это новое приложение - вещь, стоящая в одиночестве, со своими изображениями, стилем и еще чем-то. Однако я хочу, чтобы он был частью существующей интрасети.
В конечном итоге я хочу, чтобы вся моя классическая интрасеть ASP была «корневой», и у меня есть ASP.NET «подпрограммы», которые по-прежнему могут обращаться к / style и / img, и, думаю, для ASP.NET я буду есть /masterpages.
Я пробовал это раньше, но я думаю, что VS захлебнулся парой сотен классических страниц ASP, которые он добавил в «проект», когда я сделал свой существующий корневой каталог интрасети корневым каталогом проекта ASP.NET (через File-> Открыть-> Веб-сайт). Было бы неплохо отредактировать мою существующую классическую ASP-интрасеть, используя VS 2008 SP1 (в настоящее время я использую превосходный Notepad ++ ), потому что я хотел бы получить больше опыта с VS, но я думаю, что это не совсем необходимо.
Я также пытался рассматривать каждое новое приложение ASP.NET как отдельное приложение, эффективно превращая каталог / dotnetapp_1 в «корень» приложения (опять же через File-> Open-> Web Site в VS2008). Однако VS тогда жаловался, когда я пытался ссылаться на / masterpages, потому что он «принадлежал другому приложению». Я думаю, что я запутал это, добавив виртуальный каталог внутри каждого каталога ASP.NET, который «указывал» на root / masterpages, но я не уверен, что VS смог с радостью предоставить WYSIWYG-редактирование, когда я делал это, в отличие от создания копии главной страницы в каждом приложении ASP.NET, которое я добавляю в интрасеть.
Я также вполне могу посетить .NET MVC Framework, поэтому, пожалуйста, предложите любые ответы с учетом этой среды. Я надеюсь, что «проекты» не очень важны для MVC, и, скорее, это просто набор файлов, которые создают приложение, которое вносит вклад в целое (то есть в интранет).
Итак, вопрос в следующем: Как я могу наилучшим образом добавить приложения ASP.NET в существующую классическую интрасеть ASP (меня не интересуют технические аспекты разделения сеансов между классическим ASP и ASP.NET, только структурная схема каталогов и проектов) и возможность редактировать эти отдельные приложения в Visual Studio 2008 с пакетом обновления 1 (SP1), и, тем не менее, эти приложения «связаны» друг с другом общим интрасетевым внешним видом *?
- Пожалуйста, не размещайте ответ "используйте MasterPages". Я ценю, что MasterPages - это метод обмена стилями (и, что более вероятно,) между .NET в связанных приложениях . Я понимаю. То, что я ищу, - это лучший способ добавления приложений ASP.NET в существующую интрасеть как можно более плавным, что упрощает редактирование каждого приложения и позволяет каждому приложению использовать (если возможно) общий стиль интрасети.