Can two ASPX pages inherit the same code behind class?

I'm just starting out learning ASP.NET. From what I understand, ASP.NET differs from old school ASP in that the logic code for a page exists in as separate file rather then being embedded in the ASP page. So when a user requests a page like ShoppingCart.aspx the server reads the directive at the top ...

<%@ Page Title="" Language="C#" MasterPageFile="~/Styles/Site.Master" AutoEventWireup="true" CodeBehind = "MyShoppingCart.aspx.cs" Inherits = "TailspinSpyWorks.MyShoppingCart"%>

Сообщает серверу, какой файл и какой класс в файле связан со страницей. Код позади класса также имеет переменные-члены, которые соответствуют каждому элементу управления на странице, и обеспечивают способ для кода в файле кода для манипулирования элементами управления.

Во-первых, правильно ли я понимаю это?

Во-вторых, может ли сайт будет настроен с двумя отдельными ASPX-страницами с одинаково именованными элементами управления, у которых есть директива, указывающая на один и тот же файл и класс? Хотели бы вы сделать это? Обе страницы могут иметь одинаковую функциональность, но разный макет. Я думал, что это может быть способом создания отдельных «настольных» и «мобильных» версий страницы без дублирования контента в коде файлов.

В конечном счете, мне интересно, есть ли способ определить абстрактную страницу? Скажем, создать абстрактное определение страницы, которое говорит, что страница должна иметь элементы управления «cart_list», «total_lbl», но затем иметь возможность иметь несколько страниц, которые наследуются от этой абстрактной страницы?

9
задан Eric Anastas 4 September 2010 в 20:58
поделиться