2009-08-04 22 views
2

ネット上のアドバイスを探していますが、それほど遠くはないので、アドバイスをお願いしたいと思いました。私はそれが完了したことを知っているので、私がやりたいことを知っているが、私はそれがどのように行われたかを調べることができますASP.NETページの継承

私は何をしたいのですか、ユーザーはASPXファイルのレイアウトを変更することができますそれはレターテンプレート、移動するアドレスライン、ページのフォーマットなどとして使用することができます今私が表示された例では、ページは標準クラスを継承し、このクラスにはforeName/sureName/addressLine1などの汎用関数のセットがあり、ASPXファイルを設計するときに、ユーザーがaddressLine1を表示したければ彼らは、私は彼らがする必要があるプロパティを持つ基本クラスを使用することが可能であるかもしれない簡単なもの

答えて

3

の多くが欠けていると思う、タグcontent = "addressLine1"

上記いただければ幸いです達成する方法上の任意のアドバイスを追加します仮想メンバーとして定義する。ユーザーに使用させたい仮想メンバーを使ってプロジェクトにクラス(ページなし、クラスのみ)を作成するだけです。

public class BasePage : Page { 
    public virtual string Content; 
} 

あなた(またはあなたのユーザー)が作成するページでは、そのクラスから継承する必要があります。

public class MyPage : BasePage { 
    public override string Content = "My Content"; 

    //Other logic can go here 
} 

(BasePageクラスは、Pageクラスから継承するため、ページだけで、他のASPXページのように機能します):あなたのページには次のようになります。

プロジェクト内の他のページ/項目で使用できるように、ベースページクラスをApp_Codeフォルダで定義する必要があることに注意してください。

これは機能に対しても実行できます。仮想メンバーと機能に関する

もっと読みはMSDN

+1

にApp_Codeで行うことができる唯一のウェブサイトのためではなく、Webアプリケーション・プロジェクトのために必要とされるであろう。 –

+0

それは本当です。私の経験では、ウェブサイトのプロジェクトはほとんどの時間(自分でいつも使っている)、多くの人がリファレンスページをクロスしようとする(失敗する)ということです。 説明をいただきありがとうございます。私の知る限り、1.0と1.1との下位互換性を保証するために、Webアプリケーションは2.0で導入されました。 Webアプリケーションは、古いバージョンと同様に動作します。ウェブサイトのプロジェクトは最近のものです(したがって、ほとんどの場合ウェブサイトを使用することをお勧めします)。 – Gertjan

+0

[OK]を参照してください、私はどのように表示することができませんどのようにコンテンツを配置する= "addressLine1"マークアップ、addressLine1関数が呼び出される原因となります....私は理にかなって、私は質問 ? – spacemonkeys