Создание статического сайта ASP.NET с более чем 100 страницами

Я конвертирую старый веб-сайт на основе html в ASP.NET, чтобы мы могли позже включить на сайт больше функций, таких как AJAX и базы данных. В настоящее время моя задача - создать новую страницу .aspx для каждой старой html-страницы. Чтобы макет оставался неизменным, я сделал мастер-страницу.

Итак, в настоящее время я создаю страницу содержимого из главной страницы, затем переименовываю страницу содержимого и добавляю текст с html-страницы в область заполнителя содержимого. Однако мне было интересно, не могу ли я написать систему, которая может действовать как метатель страниц.

Каждая гиперссылка при нажатии переходит на серверный код, где запрашивает страницу, которую хочет загрузить. Обычно веб-сервер ожидает, что ссылка на страницу, указанная в гиперссылке, действительно существует физически, но здесь я пытаюсь сделать именно это. Скажем, ссылка предназначена для страницы TravelDetails, страница не обязательно должна существовать физически, но ее содержимое присутствует в файле в (формате html). поэтому Page Thrower собирает данные для отображения для этой страницы, у него уже есть главная страница, он добавляет туда ее html, а затем выбрасывает настраиваемую страницу. Таким образом, мне не нужно хранить 100+ aspx-страниц, я могу работать с одной страницей и поддерживать другую структуру данных для хранения содержимого (статических данных) для каждой страницы. какие-либо рекомендации, если мой подход правильный, и как это сделать?

Спасибо


person Anirudh Goel    schedule 02.07.2009    source источник


Ответы (4)


Я думаю, вам следует попробовать некоторые доступные на рынке cms, например dotnetnuke. Потому что каждый раз вам нужно создавать веб-страницу для html-страницы. В будущем, если будут какие-то изменения, то потребуется время. В cms, например dotnetnuke, вам просто нужно вставить свой html в существующую систему. Вам не нужно снова заниматься кодированием.

DotNetNuke - бесплатная. Также доступны другие системы управления контентом. Еще одним преимуществом является то, что у dotnetnuke есть особенности кожи. Так что если поменять скин на одном месте. Вам не нужно делать это для всех мест.

person Jalpesh Vadgama    schedule 02.07.2009

Взгляните на ASP.NET MVC. Он использует маршрутизацию ASP.NET, которая может вам помочь.

В качестве альтернативы вы также можете использовать маршрутизацию ASP.NET без MVC.

Матиас

person Matthias Meid    schedule 02.07.2009
comment
привет, я знаю о функции маршрутизации, идея в том, что мне не нужно несколько страниц для каждого элемента. Я хочу сохранить один файл, содержащий маркеры, откуда данные могут быть извлечены и отображены на основе ссылки, по которой щелкнул пользователь. - person Anirudh Goel; 02.07.2009
comment
Я думаю, вы можете сделать это с помощью MVC и маршрутизации: одна страница - это одна запись в вашей БД, поэтому контроллер может передать запись (содержимое страницы) в представление. Для этого требуется только одно представление, которое принимает объект содержимого страницы в качестве параметра. См. «Действие списка», просмотреть в blogs.msdn.com/brada/archive/2008/01/29/ в качестве примера. - person Matthias Meid; 02.07.2009

Просто мысль. Создайте страницу, связанную с главной страницей. В заполнитель содержимого добавьте Panel. Позвольте вашему метателю страниц решать, какую страницу отображать, извлекает данные html и добавляет их на панель во время выполнения.

person Ganesh R.    schedule 02.07.2009
comment
Именно это я и ищу. однако откуда я могу найти образец, который уже реализует такую ​​идею! - person Anirudh Goel; 02.07.2009
comment
Если подумать, я могу добавить их в базу данных (разметку html), и она может извлечь из базы данных и добавить сюда! - person Anirudh Goel; 02.07.2009

Почему бы вам не создать страницы динамически, а затем использовать кеширование asp.net для увеличения пропускной способности.

person RubbleFord    schedule 02.07.2009