реализация интерфейса на странице aspx - PullRequest
0 голосов
/ 08 февраля 2010

по причинам, выходящим за рамки этого обсуждения (например, скопируйте страницу aspx в каталог, чтобы нам не нужно было создавать новую сборку), мы хотели бы реализовать интерфейс на странице aspx. Скажем, если page - это myPage.aspx, обычно это ваш класс в коде mypage.aspx.cs, который реализует интерфейс. Когда я делаю что-то вроде этого

<%@ Page Language="C#" AutoEventWireup="true"  Inherits="ICustomInterface" %>

Я получаю ошибку

Parser Error Message: 'ICustomInterface' is not allowed here because it does not extend class 'System.Web.UI.Page'.

Однако, если не указать атрибут Inherits, страница не выдаст ошибку. Поэтому по умолчанию, когда мы не указываем атрибут Inherits, страница наследуется от System.web.UI.Page?

Мы используем проект веб-приложения VS2008 и не прекомпилируем страницы aspx. Мы хотели бы перехватить запрос к этой странице в HTTPModule (запрос на начало), и если запрос относится к странице типа ICustomInterface, мы хотели бы обработать его по-другому.

Как это можно сделать?

1 Ответ

3 голосов
/ 08 февраля 2010

Это может быть потому, что параметр Inherits ожидает базовый класс, а не интерфейс.

Возможно, вы можете попытаться создать вторичный класс, который наследуется от System.Web.UI.Page и реализует необходимый вам интерфейс.

Хотя, я просто догадываюсь об этом.

...