同じページの 2 つのバージョンを作成しています。したがって、共通の祖先を作成したいのですが、そのコードからいくつかのコントロールにアクセスする必要があるため、これを行う最善の方法は、共通のコントロールのセットを共有の designer.cs ファイル内に配置することですが、ASP.Net はそれらを再作成します。 aspx ファイルで同じ ID を持つ asp タグに到達するとすぐに (公理化により) 各ページに対して。とにかくこれを行う方法はありますか?
例 (コードは似ています):
common.cs
partial class CommonClass [...]
Function X
Do something with MyRepeater
common.designer.cs (または他のファイル名)
partial class CommonClass
protected global::System.Web.UI.WebControls.Repeater MyRepeater;
page1.cs
Page1 : CommonClass
page1.aspx
[...]
<asp:Repeater ID="MyRepeater" runat="server" [...]
page2.cs
Page2 : CommonClass
page2.aspx
[...]
<asp:Repeater ID="MyRepeater" runat="server" [...]
編集: page1 と page2 を使用すると、ユーザーはテーブルを表示してその内容を変更できます (他にもいくつかのコントロールがあります)。page1 は、一連のオブジェクトを使用してテーブルを埋めます。page2 は、まったく異なるオブジェクトのセットを使用してテーブルを埋めます。それでも、page1 と page2 がデータを埋める方法は同じで (オブジェクトのセットから 3 つの中間テーブルが作成されます)、非常に複雑です。同じ (そして非常に複雑) であるため、塗りつぶしロジックを共通ファイルに配置したいと考えていますが、その塗りつぶしロジックはいくつかのリピーターに依存しているため、それらのリピーターも共通ページで定義する必要があります。