0

この説明の範囲を超えた理由(たとえば、aspxページをディレクトリにxcopyして、新しいビルドを取得する必要がないようにする)のために、aspxページにインターフェイスを実装したいと思います。たとえば、ページが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 Webアプリケーションプロジェクトを使用しており、aspxページをプリコンパイルしていません。HTTPModule(begin request)でこのページへのリクエストをインターセプトしたいと思います。リクエストがタイプICustomInterfaceのページに対するものである場合は、別の方法で処理します。

これはどのように行うことができますか?

4

1 に答える 1

3

これは、Inheritsパラメーターがインターフェースではなく基本クラスを予期していることが原因である可能性があります。

おそらく、System.Web.UI.Page必要なインターフェイスを継承して実装するセカンダリクラスを作成してみてください。

しかし、私は完全にこれを推測しています。

于 2010-02-08T00:18:37.590 に答える