Подтвердить что ты не робот

ASP.NET эквивалент серверной части включает

Хотя классический ASP-сервер на стороне сервера работает в ASP.NET, у меня создается впечатление, что это не предпочтительный метод. Как я "предполагаю" достичь такого же эффекта?

Вот как я это делаю сейчас:
<!-- #include file ="functionlib.aspx" -->

4b9b3361

Ответ 1

Теперь у вас есть несколько вариантов, которые обеспечивают этот эффект, но по-другому.

  • Элементы управления пользователя (.ascx)
  • Основные страницы (.master)
  • Управление на стороне сервера (.dll)
  • Библиотеки классов (.dll)
  • Классы App_Code (.cs/.vb)

Каждый из них используется по-разному для достижения разных целей. Это зависит от того, что вы действительно пытаетесь сделать. Учитывая имя вашего файла include, я бы предположил, что вы пытаетесь включить библиотечные функции, которые будут использоваться в контексте вашей страницы.

Следовательно, вы должны написать библиотеку классов, которая содержит методы и импортировать их в ваше приложение /aspx.

Если вы смотрите на шаблонизацию страницы, которая будет выполнять большую часть макета, чтобы предоставить тело для различного контента, вам будут интересны основные страницы.

Если вы смотрите на шаблонные элементы управления, которые можно использовать на многих страницах, вы будете после пользовательских элементов управления.

Если вы смотрите на шаблонные элементы управления, которые могут использоваться многими пользователями во многих проектах, вы будете смотреть на серверные элементы управления.

Если вы смотрите на библиотеку классов/методов, вы создадите библиотеку классов или используете класс app_code, который может быть скомпилирован JIT при первом вызове. Это можно было бы рассматривать скорее как классический ASP, но на самом деле он больше похож на класс из библиотеки классов как единое целое. Вы можете вызвать его изнутри вашего кода или внутри <%% > тегов в коде aspx/ascx, не требуя ссылки на библиотеку классов.

Мы больше не используем "включает", но каждый из этих инструментов в вашем наборе инструментов позволяет вам предоставлять аналогичные концепции для разных сценариев. Как разработчик вы будете по-разному взаимодействовать со всем жизненным циклом страницы своих веб-страниц. ASP.NET - это совсем другое зверь, чем классический ASP. Это действительно занимает другой взгляд/подход и потребует некоторого количества терпения, чтобы выяснить различия.

Ответ 3

Если вы используете ASP.NET MVC, тогда Html.RenderPartial - ваш друг здесь.

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

Частичный вид может быть реализован как .ascx или .aspx и помещая вышеуказанный вызов на вашу "основную" страницу, в основном говорит "получить результат из этого частичного представления и отобразить его здесь".

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

Ответ 4

Похоже, что вам нужно взглянуть на всю концепцию MasterPages.

Если вы не смотрите только на импорт функций и других утилит (а не на содержимое html). Если это так (и вы используете модель кода), вы должны просто включить соответствующий файл или пространство имен, используя команду import в верхней части вашей .vb-страницы (соответственно отрегулируйте для С#).