アプリ版:「スタンプのみでお礼する」機能のリリースについて

ASP.NETで似たような画面を複数作るにあたって、
フォーム(デザイン?)の継承が出来たらなぁと思っています。

C#(当方、C#の経験しかありません(--;) )ですと
Form1にButtonコントロールを貼り付けて、Form2からForm1を継承すると
Form1のButtonコントロールを継承出来ますよね。(デザイナ上も表示される)
ASP.NETでもそういったことが出来ないでしょうか?

現在、下のような状態です。
no2からno1を継承しようとしています。
違うんだろうなということは分るのですが
インターネットで調べても分からないので
「こんな感じだろ!」という独断と偏見で作りました…^^;

=======================================
【 no1.aspx 】
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="no1.aspx.cs" Inherits="xxx.no1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!-- ボタンを貼ってみました -->
<asp:Button ID="Button1" runat="server" BackColor="#FFC0FF" BorderColor="Blue" Text="Button" />
</div>
</form>
</body>
</html>


【 no2.aspx 】
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="no2.aspx.cs" Inherits="xxx.no1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!-- Inheritsに"xxx.no1"と記述したので、no1で貼ったボタンが表示されたら嬉しい… -->
</div>
</form>
</body>
</html>
=======================================

えー…、no2を実行しても真っ白画面でした。
出来れば継承したものがno2のデザイナ上にも表示されて欲しいのですが…。



また
「そういう方法はないけど、こういう方法ならあるよ」

「ASP.NETで似たような画面を複数作る場合は普通こうするんだよ」
ということがあれば教えて頂けたらなと思います。

よろしくお願い致します。

A 回答 (1件)

class1.aspxは動的コンパイル時に、class1.aspx.cs(裏コード)が生成した"class1クラス"("class1クラス"はさらにSystem.Web.UI.Pageを継承している)しますので、class2.aspxで、class1を継承すると、class1.aspxの基底クラスを継承したことになり、class1.aspxが生成したクラスは継承できません。


asp.netで共通UIのページを作るときは、「マスターページ」(共通ページを作る場合)か、「ユーザコントロール」(共通部品を作る場合)を使うのが常套手段です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>class1を継承すると、class1.aspxの基底クラスを継承したことになり
Σ(´д`;)な、なるほど。。。ここが分かっていませんでした。
勉強になります。

「マスターページ」…探し求めていたのはまさにコレです!
無事にUI部分は共通化できました。ありがとうございました。


よろしければコチラもお願い致します。。。
【ASP.NET】マスターページに配置されたボタンのイベントを拾いたい
http://oshiete1.goo.ne.jp/qa5232630.html

お礼日時:2009/08/24 13:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!