Как присвоить основную страницу существующей .aspx странице?
При назначении существующей страницы .aspx главной странице все основные элементы веб-страницы теперь размещаются вместе с главной страницей, например, заголовок, тело, заголовок. и т.п.Следовательно, если ваша страница использует эти элементы для таких целей, как присвоение заголовка веб-странице, определение javascripts в теге ... все эти операции теперь должны выполняться на главной странице. Но если вам нужно присвоить этим элементам соответствующие значения на уровне дочерней страницы, вам необходимо определить заполнитель содержимого в теге заголовка главной страницы. Другой заполнитель содержимого должен быть размещен в теле мастер-страницы.
На дочерней странице у вас будет два заполнителя контента, один для головы, а другой для тела. После этого вам нужно будет поместить необходимый код в соответствующие заполнители содержимого.
Использование директивы уровня страницы на странице aspx:
<%@ page language="C#" masterpagefile="~/Default.Master" codebehind="..." inherits="..." title="..." %>
Я сделал это, имея 1 основной базовый класс и 2 подбазы.
// Start with Base class of all methods
public class MyBase
{
protected void Method1()
{
}
protected void Method2()
{
}
protected void Method3()
{
}
protected void Method4()
{
}
}
// Create a A base class only exposing the methods that are allowed to the A class
public class MyBaseA : MyBase
{
public new void Method1()
{
base.Method1();
}
public new void Method2()
{
base.Method2();
}
}
// Create a A base class only exposing the methods that are allowed to the B class
public class MyBaseB : MyBase
{
public new void Method3()
{
base.Method3();
}
public new void Method4()
{
base.Method4();
}
}
// Create classes A and B
public class A : MyBaseA {}
public class B : MyBaseB {}
public class MyClass
{
void Test()
{
A a = new A();
// No access to Method 3 or 4
a.Method1();
a.Method2();
B b = new B();
// No Access to 1 or 2
b.Method3();
b.Method4();
}
}
-121--4435010- Стоит упомянуть, что в большинстве функциональных языков (например, в Scheme) можно использовать преимущества оптимизации хвостового вызова, и, таким образом, можно использовать рекурсивные функции без увеличения объема памяти в стеке.
В основном сложные рекурсивные хвостовые вызовы могут выполняться в схеме безупречно, в то время как в C/C + + те же самые вызовы создают переполнение стека.
-121--4554010-Добавьте это к существующему объявлению aspx Page:
MasterPageFile="~/SomeMasterPage.Master"
Следует также отметить, что для добавления определенного содержимого Страницы на Страницу также необходимо добавить любые тэги Содержимого (определенные на Главной странице) на страницу aspx:
<asp:Content ID="myContent" ContentPlaceHolderID="someContent" runat="server">
// Page Content goes here
</asp:Content>
Если они не помещены, вместо них используется содержимое по умолчанию с Главной страницы.