Есть ли способ повторно использовать часть кода ASP.NET (код на основе тегов, а не код) на многих разных страницах? Например, у меня есть <div>
с некоторым содержимым в нем, которое появляется на 5 разных страницах моего сайта. Я ищу технику, с помощью которой я мог бы сохранить этот <div>
в отдельном веб-сайте, так сказать, с другим расширением, например MyDiv.ASPC
, и затем мог бы делать тег на стороне сервера в любом месте веб-страницы:Повторное использование кода ASP.NET на нескольких страницах
<asp:Import href="~/MyDiv.aspc" />
и ASP.NET будут вставлять весь контент этого файла в тот момент, когда появляется этот тег.
Я думал о создании пользовательского элемента управления для этого, но я не уверен, что пользовательский элемент управления всегда вводит именно то, что написано в его теле, или иногда могут быть нежелательные теги, созданные самим пользователем.
Или существуют ли лучшие способы сделать это?
Редактировать
О Master Pages, они далеки от того, что я ищу. Они действительно хороши для общей базовой компоновки вашего сайта. Моя идея совершенно противоположна этому. Мои страницы не имеют общего расположения; это просто, что у них есть один общий <div>
. Он более точно выполняется UserControl.
Для UC мой страх в том, что они генерируют больше, чем то, что написано в их теле, тогда как то, что мне нужно, - это простая инъекция текста. Чтобы сказать это технически, то, что я ищу, в основном является шагом препроцессора (вроде #include thing в C++), а не шагом компилятора, если вы понимаете, что я имею в виду.
Да, они называются [главными страницами] (http://msdn.microsoft.com/en-us/library/wtxbf3hh.ASPX), пользовательские элементы управления предназначены для многократного использования ... элементов управления, размещенных на нескольких страницах (их Содержимое HTML не изменяется на каждой странице). –
Мастер-страницы, да, и пользовательские элементы управления тоже очень хорошо работают (они не меняют теги, просто имена и идентификаторы). – Luaan
Ах нет. У главных страниц есть несколько проблем. На самом деле они совершенно противоположны тому, чего я пытаюсь достичь. – dotNET