• ベストアンサー

aspxファイル実行時の表示順について

ASP.NETで開発を行っております。 index.aspxファイルとindex.aspx.vbファイルで画面を表示しようとしています。 index.aspxにはボタンなどのツールをデザインで配置し、index.aspx.vbにはResponse.Write("○○○")でコードを記述しています。 実行すると画面上部に「○○○」が表示され、その下にデザインで配置したツールが表示されています。 これを、まずボタン等のツールが表示された後、その下に「○○○」を表示したいのですが、方法がわかりません。 知っておられる方ご教授宜しくお願いいたします。

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

  • ベストアンサー
回答No.1

> 実行すると画面上部に「○○○」が表示され、その下にデザインで配置したツールが表示されています。 表示位置だけの問題ではなく、<!DOCTYPE>よりも前にデータが出力されていると思います。 方法はいくつかあります。どの方法が一般的なのかは分かりませんが、ひとつだけ。 index.aspxに次のタグを追加します。 <div runat="server" id="Hoge"></div> index.aspx.vbのPage_Initイベント内(あるいは、Load, PreRender等でも可)で、 Me.Hoge.InnerHTML = "○○○" このままだと<div>のIDが出力されます。気になるようであれば Me.Hoge.ID = "" とすればIDを消すことが出来ます。 Page_InitイベントではなくHoge_PreRenderに記述するという手もあります。どのイベントに書くのか、は他の処理と調整しながら、ということになりますかね・・・。 私はASP時代にResponse.Writeを多用していましたが、ASP.NETでは一切使っていません。というか、使える場面がない・・・?

new213
質問者

お礼

教えていただいた内容で表示することができました。 「Response.Write」より「InnerHTML」を使うのが一般的なんですね。 既存のPGを修正という形ですのでResponse.Writeしか方法がないと思っていました。 勉強になりました。ありがとうございました!

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

Literal コントロールを使うのが一般的でしょう。 literal1.Text = "○○○"; http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet07/aspnet07_01.html

new213
質問者

お礼

Response.WriteでHTML文を記述したかったので、この場合だとラベルコントロールを用いればよかったということですね。 ありがとうございました。

関連するQ&A