Сценарий
У меня есть приложение, использующее главные страницы asp.net, в котором я хотел бы повторить некоторый контент вверху и внизу страницы. В настоящее время я использую что-то вроде этого:
Мастер страница
<html>
<body>
<asp:ContentPlaceHolder ID="Foo" runat="server">
</asp:ContentPlaceHolder>
<!-- page content -->
<asp:ContentPlaceHolder ID="Bar" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
Страница содержания
<asp:Content ID="Top" ContentPlaceHolderID="Foo" runat="server">
<!-- content -->
</asp:Content>
<asp:Content ID="Bottom" ContentPlaceHolderID="Bar" runat="server">
<!-- content repeated -->
</asp:Content>
Техническое обслуживание
Как вы знаете, повторять вещи в коде обычно нехорошо. Это создает проблемы с обслуживанием. Вот что я хотел бы сделать, но, очевидно, не будет работать из-за повторяющегося атрибута id:
Мастер страница
<html>
<body>
<asp:ContentPlaceHolder ID="Foo" runat="server">
</asp:ContentPlaceHolder>
<!-- page content -->
<asp:ContentPlaceHolder ID="Foo" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
Страница содержания
<asp:Content ID="Top" ContentPlaceHolderID="Foo" runat="server">
<!-- content (no repetition) -->
</asp:Content>
возможно?
Есть ли способ сделать это с помощью веб-форм asp.net? Решение не обязательно должно напоминать вышеуказанный контент, оно просто должно работать так же.
Примечания
Я использую asp.net 3.0 в Visual Studio 2008