2010-02-16 13 views

Odpowiedz

4

Podczas przypisywania istniejącej strony .aspx do strony wzorcowej wszystkie podstawowe elementy strony internetowej mieszka teraz ze strony wzorcowej jak głowy, Ciało, tytuł itd. Stąd, jeśli twoja strona używa tych elementów do celów takich jak nadawanie tytułu stronie, definiowanie javascripts w tagu ... wszystkie te operacje muszą być teraz wykonane na stronie wzorcowej. Jeśli jednak chcesz przypisać te elementy do odpowiednich wartości na poziomie strony podrzędnej, musisz zdefiniować właściciela treści w nagłówku strony wzorcowej. Inny właściciel treści zawartości powinien zostać umieszczony w treści głównej strony.

Na stronie dziecięcej będziesz mieć dwóch właścicieli miejsc, jeden dla głowy i drugi dla ciała. Następnie musisz umieścić odpowiedni kod w odpowiednich miejscach dla posiadaczy treści.

+2

Przynajmniej w najnowszych działaniach ASP.NET można bardzo łatwo ustawić tytuł strony na stronie treści, używając 'this.Title =" something "', aby zastąpić tytuł strony głównej. Możesz również użyć wywołań 'ClientScript.RegisterClientScriptBlock' lub' ClientScript.RegisterStartupScript' w stronie zawartości, aby dodać javascript; jeśli używasz identycznych nazw dla identycznych skryptów w treści i wzorcu, nawet jeśli wykonasz te same połączenia w obu miejscach, tylko jedna jest osadzona w wynikowej stronie. – patridge

15

Dodaj to do istniejącej deklaracji aspx strony:

MasterPageFile="~/SomeMasterPage.Master" 

Należy również wspomnieć, że aby dodać stronę zawartości konkretnego do swojej strony trzeba także dodawać żadnych tagów Zawartość (zdefiniowana w swojej wzorcowej) do aspx strona także:

<asp:Content ID="myContent" ContentPlaceHolderID="someContent" runat="server"> 

     // Page Content goes here 

</asp:Content> 

Jeśli nie zostanie wstawiony, zostanie użyta domyślna treść ze strony wzorcowej.

+2

Powinieneś też dodać znaczniki ! – jmservera

2

Korzystanie dyrektywę poziomie strona w stronie aspx:

<%@ page language="C#" masterpagefile="~/Default.Master" codebehind="..." inherits="..." title="..." %> 
0

Wszystkie te odpowiedzi są doskonałe, szczególnie HotTester!

Chcę podkreślić istotne szczegóły podczas konwertowania istniejącej strony aspx na stronę treści: usunąć znaczniki html i head oraz ich zawartość, z wyjątkiem znacznika body - usunąć znaczniki body, ALE ZACHOWAĆ jego zawartość - usunąć znacznik formularza, ale PRZECHOWYWAĆ jego zawartość. Jak wyjaśniono tutaj Convert ASPX pages to content pages?. Następnie umieść tę zawartość w treści miejsca właściciela treści na stronie podrzędnej.

Jeśli masz treść w tagu głównym, który musi pozostać na stronie treści i nie należy umieszczać jej na stronie wzorcowej, usuń tag główny, ale ZACHOWAJ jego zawartość i umieść zawartość w nagłówku treści strony głównej strony głównej etykietka.

Powiązane problemy