- PR -

ASP.NETで文字列をそのまま出力

投稿者投稿内容
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-09-15 09:56
引用:

小野@どっとねっとふぁんさんの書き込み (2004-09-15 09:24) より:
Response.Writeだと、書き込む場所の制御ができないのでは?
もしくはその他のタグもResponse.Writeで書き込むとかの処理が必要になるかと。]



がるがるさんの書き込みを見ると、HTMLコンテンツの内容を全て外部テンプレートファイルより持ってくるとなっているので、Response.Writeでもいいかなと思いました。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-09-15 12:08
がるがるさん、こんにちは。

基本的には Literal コントロールでOKだと思いますが、テンプレートHTMLを処理する独自のコントロールを作ると重宝しそうですね。

ただ、もしかするとASP.NET 2.0 と機能的にカブるかも知れませんが。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2004-09-15 13:58
あぁ!最初の書き込みをよく読みなおしたらイメージがわきました。

1、デザイナさんにはあくまでも元来のHTMLとして作ってもらう
2、サーバ技術としてはASP.NETを使う

これを充たそうとするとデザイナさんが作ったものを技術者がタグの置き換えとか
しなきゃならないし、サーバーコントロールとHTMLタグは1対1に対応してないし・・
じゃぁHTMLをまるごと出力してしまえ、ということですね。
これは、LiteralでもResponse.Writeでもできそうですね。
(ちなみに<% Response.Write(〜)%>を書けば好きなところに書き込めるのでは
なかったでしょうか。)

ただ、「ど〜してもASP.NETで」作る理由は何なのでしょうか。この先の作業で
(たとえば納品先の人が)、ポストバックさせていろいろ行う処理を加えたい
とかであれば結局めんどくさいことになる気がします。

昔、XML+XSLTで<html>タグごと吐き出すものを作った際に、XMLコントロール
だけをaspxに貼ったことがありました(あれは、よくなかったなぁ・・)

[ メッセージ編集済み 編集者: べる 編集日時 2004-09-15 14:07 ]
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-09-15 15:02
どもです、がるです。
みなさま、色々な知識を本当にどうもです。

とりあえず、
HttpResponseクラスのwriteクラス「this.Response.Write(data);」
Literalコントロール
の二つが簡単そうなので、試してみたいと思います。
結果はまた報告いたします ^^

ちなみに、writeを使うのは、他の方も書いてくださっていたのですが、
HTML全部自力で出力、ってのをベースに考えているためです。

んで、ちょいレスを。
引用:

テンプレートHTMLを処理する独自のコントロールを作ると重宝しそうですね。


コントロールっていうか、とりあえずクラスを作るです。
すでに、複数の言語で同一のクラスをもっているので、インタフェースは
確定しているので実装だけです(笑
出来上がったらどこかにUpする…かもしれない。
C++とASP.NET for C#とPerlとPHPとで共通のインタフェースになるです(笑
ちなみに、そーゆークラスって「独自のコントロール」にできるんです
かね?
その辺は皆目無知なもので ^^;
クラスのインタフェースは近々にでも載せたいと思います。パクり大歓迎
でございます(笑

引用:

1、デザイナさんにはあくまでも元来のHTMLとして作ってもらう
2、サーバ技術としてはASP.NETを使う

これを充たそうとするとデザイナさんが作ったものを技術者がタグの置き換えとか
しなきゃならないし、サーバーコントロールとHTMLタグは1対1に対応してないし・・
じゃぁHTMLをまるごと出力してしまえ、ということですね。


でふ。そういうイメージですね。
どうしても、可能な限り「デザイナさんにはデザイナさんのなじんだ道具
で作成をして欲しい」ってのがありまして。

引用:

ただ、「ど〜してもASP.NETで」作る理由は何なのでしょうか。


伝家の宝刀「お客様のご要望」でし。んで、突っ込んだ理由は最強究極奥義
「なんとなくいままでASPだったからこれからもなんとなくASP系で」。

…感情と感性だけの問題なので、突っ込みすらできずにおります;;
いやまぁ本音を言えばUNIX系か(もとの私のテリトリーなので)、でないに
しても、せめてActive PerlとかPHPとかJSPとか、そっちに動かせると
とてもうれしかったのですが。
ご要望で「ASPもしくはASP.NET」だったため、将来性を考えてASPはなし
ってことで、ほぼ自動的に.NETに確定いたしました(苦笑

とりあえず頑張って(C#ですが).NET組んでいきたいと思います。
今回の件で発見などあったらここにUpするので、気長に眺めていただけると。

それでは、皆様本当にありがとうございました ^^
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-09-15 16:43
がるがるさん、こんにちは。

引用:

ちなみに、そーゆークラスって「独自のコントロール」にできるんです
かね?


例えば、そのインターフェイスでHTMLの出力メソッドも規定されているのであれば System.Web.UI.Control.Render メソッドをオーバーライドして内部で呼び出すとか、コントロールとして機能するように(当たり前か...)デザインすればOKだと思います。
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-09-15 17:30
どもです、がるです。
引用:

例えば、そのインターフェイスでHTMLの出力メソッドも規定されているのであれば System.Web.UI.Control.Render メソッドをオーバーライドして内部で呼び出すとか、コントロールとして機能するように(当たり前か...)デザインすればOKだと思います。


なるるるる。いつかチャンスがあればやってみようかなぁ、と(笑

ちとメッセージの貼り付けでミスったので編集しなおしました。


[ メッセージ編集済み 編集者: がるがる 編集日時 2004-09-15 17:33 ]

スキルアップ/キャリアアップ(JOB@IT)