
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で似たような画面を複数作る場合は普通こうするんだよ」
ということがあれば教えて頂けたらなと思います。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
class1.aspxは動的コンパイル時に、class1.aspx.cs(裏コード)が生成した"class1クラス"("class1クラス"はさらにSystem.Web.UI.Pageを継承している)しますので、class2.aspxで、class1を継承すると、class1.aspxの基底クラスを継承したことになり、class1.aspxが生成したクラスは継承できません。
asp.netで共通UIのページを作るときは、「マスターページ」(共通ページを作る場合)か、「ユーザコントロール」(共通部品を作る場合)を使うのが常套手段です。
回答ありがとうございます。
>class1を継承すると、class1.aspxの基底クラスを継承したことになり
Σ(´д`;)な、なるほど。。。ここが分かっていませんでした。
勉強になります。
「マスターページ」…探し求めていたのはまさにコレです!
無事にUI部分は共通化できました。ありがとうございました。
よろしければコチラもお願い致します。。。
【ASP.NET】マスターページに配置されたボタンのイベントを拾いたい
http://oshiete1.goo.ne.jp/qa5232630.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
asp.NET初心者です。「 ’Contex...
-
GridViewの行をダブルクリック
-
PageLoadの後にJavascript実行...
-
POSTだけして、ページの移動を...
-
複数のヤフーIDの画面ウィンド...
-
ポストバック(__doPostback)へ...
-
ただいま勉強始めたての初心者...
-
dos画面が一瞬立ち上がる
-
ASP.NET による画面遷移で質問...
-
asp.net メッセージボックス表...
-
C# ListView内の検索機能について
-
アドレスバーのないウィンドウ...
-
getParameterで値が取得できず...
-
VBAでこれってどういう意味でし...
-
Page_Load時にボタンクリックイ...
-
ボタンリンクの文章を二行に・・・
-
AlertダイアログのOKボタンにつ...
-
target="_blank"でブラウザツー...
-
シングルサインオンの方法
-
アプリの不具合?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
asp.NET初心者です。「 ’Contex...
-
MACアドレス
-
GridViewの行をダブルクリック
-
x.aspxとx.aspx.vbの値の受渡に...
-
【C言語】JPEGのEXIF情報を書き...
-
Message Window?を作りたいの...
-
【ASP.NET】フォームの継承は出...
-
C# イベントハンドラについて
-
VBAで一時中断したプログラムの...
-
画面遷移が不正ですと表示されます
-
getParameterで値が取得できず...
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
c# 文字列の最後から1文字削除...
-
DVD-Rの「セッションを閉じる」...
-
ページングが大量発生する原因...
-
コンピュータへの接続数が最大...
-
複数選択のListBoxでClickイベ...
-
HTMLボタンの文字色を変え...
-
PageLoadの後にJavascript実行...
おすすめ情報