とっておきの「まかない飯」を教えて下さい!

ASP.NETで開発を行っております。
index.aspxファイルとindex.aspx.vbファイルで画面を表示しようとしています。
index.aspxにはボタンなどのツールをデザインで配置し、index.aspx.vbにはResponse.Write("○○○")でコードを記述しています。

実行すると画面上部に「○○○」が表示され、その下にデザインで配置したツールが表示されています。
これを、まずボタン等のツールが表示された後、その下に「○○○」を表示したいのですが、方法がわかりません。
知っておられる方ご教授宜しくお願いいたします。

A 回答 (2件)

> 実行すると画面上部に「○○○」が表示され、その下にデザインで配置したツールが表示されています。



表示位置だけの問題ではなく、<!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では一切使っていません。というか、使える場面がない・・・?
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/23 13:23

Literal コントロールを使うのが一般的でしょう。



literal1.Text = "○○○";

http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet0 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/23 13:27

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


おすすめ情報