наследование страниц .aspx?

#asp.net

#asp.net

Вопрос:

Можем ли мы наследовать страницу aspx в другую страницу aspx. Если да, то как мы можем это сделать, спасибо.

Ответ №1:

Я думаю, здесь есть две вещи, которые вам следует рассмотреть::

1. Создайте новый базовый тип страницы, и пусть ваши классы codebehind наследуют от него, например:

 public abstract class MyPageBase : System.Web.UI.Page
{
    // Implement custom shared logic here.
}
  

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

Ответ №2:

Я так не думаю. Однако вы можете создать главную страницу и использовать ее на тех страницах, которые вы хотите. Именно так работает «наследование» страниц aspx.

Учебные пособия по главной странице:

http://www.asp.net/master-pages/tutorials

Комментарии:

1. Page Класс не является закрытым классом или чем-то еще, он такой же, как любой другой класс, поэтому нет технических причин, по которым вы не можете наследовать от него или для того, чтобы сделать наследование настолько глубоким, насколько вам хотелось бы. Возможно, есть лучший способ выполнить заданную задачу, чем наследование.

Ответ №3:

Вы можете наследовать код (то есть классы, производные от System.Web.UI.Page), но вы не можете наследовать разметку.

Для «наследования» разметки используйте ASP.Net такие механизмы, как пользовательские элементы управления (ascx) или мастер-страницы, как предлагалось в других ответах, или создавать элементы управления динамически.

Ответ №4:

Я не совсем уверен, что правильно понял ваш вопрос, но вы наверняка можете наследовать страницу ASPX. В вашем файле code behind для страницы у вас есть объявление класса, от которого наследуется страница System.Web.UI.Page . Если вы хотите использовать другую базовую страницу, вы могли бы просто создать другой базовый класс, который наследуется от System.Web.UI.Page , и изменить код, лежащий в основе определенных классов, наследующих от вас новую базовую страницу.

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