Что происходит с html-файлом с директивой asp @page и тегами содержимого внутри него

1

С ASP.net я знаком с созданием главной страницы, а затем с возможностью установки этой главной страницы для файла.aspx.

На одном из наших сайтов, где я работаю, нам предоставляется доступ к ftp для редактирования статических html-страниц. Внутри этих html-страниц есть несколько asp-тегов, в частности директива страницы с атрибутами title, language и masterpagefile, а также несколько тегов контента с атрибутами id, contentplaceholderid и runat.

Мой вопрос в том, как они это делают? Если бы мне пришлось добавить главную страницу в visual studio для моего собственного проекта, я не смог выбрать главную страницу для файлов.html. Они каким-то образом создают/перезаписывают файл.aspx после загрузки? Если я перейду на сайт, url покажет расширение.html.

  • 0
    щелкните правой кнопкой мыши на своей главной странице и выберите «Создать страницу содержимого». Вы также можете вкладывать главные страницы
Теги:
master-pages

2 ответа

0
Лучший ответ

Внутри этих html-страниц есть несколько asp-тегов, в частности директива страницы с атрибутами title, language и masterpagefile, а также несколько тегов контента с атрибутами id, contentplaceholderid и runat.

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

Если вы посмотрите, например, на конфигурацию IIS (и особенности этого будут сильно различаться с версиями IIS), вы можете найти что-то вроде этого (и это может быть довольно датировано, мне не приходилось смотреть под капотом в IIS для лет) отображение для .aspx файлов в aspnet_isapi.dll. Та же конфигурация также может быть изменена так же, как и map .html файлы в aspnet_isapi.dll, которые обрабатывали бы их одинаково.

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

  • 0
    Так что, если я вас правильно слышу, это просто HTML-файлы, настроенные для обработки как страницы asp.net. Кажется, это то, что они делают. Когда-то эти файлы были полностью статичными, включая верхнее меню. Верхнее меню вместе с нижним колонтитулом теперь должно появиться на их главной странице, а остальное содержимое мы можем редактировать.
0

В Visual Studio вы можете изменить настройки для обслуживания динамического контента.

В Application Designer вы должны указать, предоставляет ли приложение ASP.NET динамическое или статическое содержимое. Динамический контент указывает, что для запуска приложения или любых веб-сервисов, связанных с приложением, требуется процессор сценариев, такой как ASP.NET. Статический контент указывает, что процессор сценариев не требуется, например, для запуска приложения или для отображения HTML.

http://msdn.microsoft.com/en-us/library/ms242474(v=vs.90).aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню