• ベストアンサー

ASP.NETでのテンプレートHTML使用方法

ASP.NET初心者です。 現在、ASP.NETを使用したWebアプリを開発しています。 要件としてテンプレートとして用意したhtmlファイルを画面表示時にaspxに読み込み、ラベル文字の置換やASPコントロールのボタンなどを付加してブラウザに表示したいのですが、可能でしょうか? 開発環境は VisualStudio 2005 使用言語はVisualBasicです。 よろしくお願いしたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mdp36
  • ベストアンサー率72% (26/36)
回答No.3

Page.Initイベントでフォーム上にコントロールを配置すれば、以後デザイナで配置したコントロールと同様に扱うことができます。 置換部分以外のHTMLタグは、LiteralControlやWebControlで再現できると思います。テンプレートHTMLを文字列として扱うのなら前者、XMLとして解析するなら後者というところでしょうか。 以下のコードはサンプルです。Default.aspx.vbに貼り付けてみてください。 Partial Class _Default Inherits System.Web.UI.Page Private TextBox1 As TextBox Private TextBox2 As TextBox Private WithEvents Button1 As Button Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init TextBox1 = New TextBox TextBox2 = New TextBox Button1 = New Button Button1.Text = "Test" With form1.Controls 'LiteralControlを使う場合 .Add(New LiteralControl("<table><tr><th>TextBox1</th><td>")) .Add(TextBox1) .Add(New LiteralControl("</td></tr></table>")) 'WebControlを使う場合 Dim tb As New WebControl(HtmlTextWriterTag.Table) .Add(tb) Dim tr As New WebControl(HtmlTextWriterTag.Tr) tb.Controls.Add(tr) Dim th As New WebControl(HtmlTextWriterTag.Th) tr.Controls.Add(th) th.Controls.Add(New LiteralControl("TextBox2")) Dim td As New WebControl(HtmlTextWriterTag.Td) tr.Controls.Add(td) td.Controls.Add(TextBox2) .Add(Button1) End With End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox2.Text = TextBox1.Text TextBox1.Text = "" End Sub End Class

その他の回答 (2)

noname#158371
noname#158371
回答No.2

すいません、画像がうまく掲載できなかったので、もう一度、下記回答に対する参考画像をUPします。

noname#158371
noname#158371
回答No.1

マスタページ(MasterPage)と呼ばれる概念を使うといいかもしれません。 ASP.NET Webプロジェクト(もしくは、Webサイトプロジェクト)に、MasterPage用のファイルを1つ作り、そのMasterPageに、テンプレートとなるhtmlファイルに記述されているHTMLをそのまま転記します。  ※ただし、MasterPageで自動生成されているASP.NET構文の箇所を削除しないように、HTML構文をMasterPageに転記します。 その後、ボタンやラベルなど画面独自のaspxファイルを作成(新規追加)する際、作成したMasterPageを選択するようにしてあればOKです。 (詳しくは添付した画像を参照のこと) ※「Webサイトプロジェクト」ではなく、  「ASP.NET Webプロジェクト」を使用している場合は、  添付した画面のようにMasterPageを選択できないと思いますので  その場合は、またご相談ください。

この投稿のマルチメディアは削除されているためご覧いただけません。

関連するQ&A

  • aspのテンプレート(VisualStudio)

    現在VisualStudio 2010 Expressでaspフレームワークを使用した、開発を行いたいのですが、新規プロジェクト作成で、aspのテンプレートが表示されなくて困っています。 どのようにしたら追加できるのでしょうか?お返事お待ちしております。

  • ASP.NETモバイル開発にてHTMLの埋め込み方法

    DBより取得したHTMLコードをモバイルの画面のHTMLに 埋め込みたいと思っています。 PCではリテラルコントロールやラベルコントロール、もしくは <DIV ID="div1" runat="server">などとして、InnerHTMLで埋め込 んでいましたが、モバイルではDIVは警告が出て、リテラルは モバイルコントロールになく、ラベルに<BR>を埋め込むと、 改行されずそのまま出力されてしまいました。 できればASP.NETで携帯サイトにDBより取得したHTMLコードを動的に 出力したいのですが(画像などのタグを埋め込みたいです)、 やり方が分りません。 Default.aspx.csなどのコードファイルに ○○コントロール = "<img src="***.gif">";のような形でHTML コードをPage_Loadなどの時に入れる方法を教えて下さい。 ------------------------------------- もうひとつ、知りたいことがあるのですが、ASP.NETのモバイル コントロールは改行されてしまうため、テキストボックスの右隣に ボタンを置くことができないような説明をどこかのHPで見ました。 こちらは何か対策方法がありますか? ASP.NETで制約がありすぎる場合は、ほかの言語で携帯サイトだけは 開発することも少し考えましたが、PHPなどを勉強した方が宜しい でしょうか? すみませんが、ヒントだけでも教えて頂ければと思います。

  • ASPとASP.NETとASP.NET2.0の違い

    Web開発初心者です。 帳票をPDF表示するWebアプリケーションを開発することになり、 言語はASPを使用することになりました。 そこで ASP ASP.NET ASP.NET2.0 の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。 それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。 不明瞭な箇所がありましたら説明させていただきます。 すいませんがよろしくお願いします。

  • ASP.NET/VBでのユーザコントロールを使用したプログラム

    開発環境:VS2005 言語:ASP.NET(VB) 質問させてください。 現在ASP.NETでプログラムを作っています。 プログラム等は経験なくほぼ初心者です。 内容としては テキストボックス(txtB)1個のユーザコントロールを ボタン(btn1)1個とテキストボックス(txtA)1個のフォーム(aspx)に貼り付け、 ボタンを押下することでフォームのテキストボックス内の値を ユーザコントロールのテキストボックスに表示させるという プログラムを作りたいのですがうまくいきません。 色々調べたのですが、 ユーザコントロールのテキスト内の値をフォームのテキストに表示させる方法は あったのですが逆の方法は見つけられませんでした。 説明等わかりにくいところもあるかもしれませんが 回答よろしくお願いいたします。

  • C言語と VisualBasic.NETの違いは何?

    最近C言語を勉強し始めました。そこで疑問です。 C言語、VisualStudio.NET 、ASP.NET , C#.NET , VisualBasic.NET これらの言語は何が違うのでしょうか? よろしくお願いします。

  • Visual Studio.NET + ASP.NET

     VisualStudio.NETをWindows2000 Professionalで使っているのですが、VisualBasicのWebアプリケーションの開発において、  プロジェクトを実行しようとしているとしているときにエラーが発生しました:Webサーバーでデバッグを開始できません。サーバーはASP.NETやATLServerのアプリケーションのデバッグをサポートしていません。  などといったエラーが出てきます。サーバーコンポーネントはインストールしたし、FrontPageServerExtensionは設定したはずだし、何がおかしいのでしょうか?  まったく手がつけられないので、何かアドバイスをお願いします。

  • ASP.NET変換後のHTMLを見る方法

    VB.NETで携帯コンテンツを作成しているのですが、AUだけ表示が他の携帯と違うんです。 ・文字の色が赤くならない⇒黒のまま ・ボタンコントロールが表示されない⇒画面一番したにいくとファンクションキーに入ってる? ・ドロップダウンにならない⇒チェック式 Docomo,J-Phoneでは正常に表示できます。 作成したコンテンツ(Aspxファイル)をIEで見て、ソースを表示し、それをHTMLとして保存して、それをAUの携帯電話(Openwaveブラウザ)で見ると上記問題はすべて解決されたページが表示されます。 (1)ASP.NETはHTMLに変換して表示すると書いてあったので、AUでコンテンツを表示するときにどのようなHTMLに変換しているのかをみたいのですが、どうやってみればよいのでしょうか? (2)ASP.NETの変換はサーバ側でやるのでしょうか? (3)上記実験を考えると、IEで見たときと、ドコモで見た時と、AUで見た時のaspxファイルのHTML変換の出力結果が違うから表示がおかしくなる気がするのですがどういう風にすれば同じ変換にしてくれるのでしょうか?

  • ASP.NETについて

    ASP.NETについて教えてください。 VisualStudio2010、VBでASP.NETを開発しています。 クラインアントで起動した時に、自分の端末のC:\test.xlsをオープンしたいのですが、サーバー側の Excelが開いてしまいます。 どのような設定、構文を書けばクライアントのExcelを起動する事ができるのでしょうか?

  • ASP.NET+VB.NETで開発するのに必要なソフト

    今度、仕事でASP.NETでWebページを開発することとなりました。 (実際にはASP.NET+VB.NETという形です) そこでひとつ疑問があるのですが、ASP.NETで開発するのに、 開発ソフトのVisualStudio.NETが必要になってくるのでしょうか? なにせ自分、今度の仕事で取り纏めする者で、 もし、開発するのにVisualStudio.NETが必要となれば、 会社に申請してライセンスを購入する必要があるので、 本当に必要なのかどうかを判断しなければいかないものでして。^^; また、マイクロソフトで「Web Matrix」という無償の開発ツールを 配布しているようですが、これはどういったものでしょうか? 今回の自分の質問を集約すると、  ・ASP.NETを開発するのに開発ツールが必要か?  ・VisualStudio.NETとWeb Matrixは、何が違うのでしょうか? 以上の2点です。 どうぞ、宜しくお願い致します。

  • ASP.NET

    お世話になります。ASP.NET初心者です。 つい、一週間ほど前から、ASP.NETでのシステム開発をしているのですが、わからない点があり質問させて頂きました。 環境 ASP.NET(今は、ローカルのIISを使用しています。)    DB Oracle10g 質問内容:画面上で入力された値をキーとしてDBから値を取得し、 画面に表示するのですが、その取得してきたデータのKey値をどこかに保存しておいて、更新(UPDATE)するときに使用したいと思うのですが、どのような方法があるのでしょうか?画面の隠しコントロールなどに退避したりするのでしょうか? 以上 よろしくお願いします。  

専門家に質問してみよう