【質問】ASP.NETスレ Part4【議論】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/07/17(火) 23:49:46ID:pyJr9yIyPart1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
【質問】ASP.NETスレ Part3【議論】
http://pc11.2ch.net/test/read.cgi/php/1160355849/
0289nobodyさん
2007/11/14(水) 17:54:37ID:jLRgJntudatabindでラジオボタンが複数選択できてしまうので
単一選択ができるカスタムコントロールを作ろうとしています。
http://www.microsoft.com/japan/msdn/asp.net/tips/CustomControl/
この通りにやって、サンプルのコードをコピペすると、
Imports System.Web.UIが見つからない、というエラーが起こります。
新規のプロジェクト作成時のパスは今のアプリケーションルートの下で
いいのでしょうか?
0290nobodyさん
2007/11/14(水) 18:40:57ID:jLRgJntu単純に参照設定ができてなかったようです。
追加で参照設定をしたところ読み込めました。
0291nobodyさん
2007/11/14(水) 21:36:10ID:???お絵かき部分のJavascriptは検索していくつか候補があるんですが、
その結果をどうすれば反映できるのかが分かりません。
Javascriptの内部で画像として保存、それからリンクを張るとかだとUI的に面倒なので
Canvasに絵を描く、コメントを打ち込む→投稿ボタンを押す
だけで一気に画像の保存からコメントの投稿まで終わらせたいと思っています。
が、コメントはテキストボックスにいれておけば、ボタン押下でPOSTされてきますが
JavaScriptのCanvasに描かれた絵の部分は一体どこから取得すればいいんでしょう?
そもそも絵のデータは一体どこに保持されているんでしょう。
0292nobodyさん
2007/11/14(水) 21:38:05ID:???SVGのデータとして結果をDBに格納してそれを表示時に再反映する方法。
投稿の時点で画像としてサーバに保存し、そこにリンクを張る方法。
別にどちらでも構わないんですが、どちらの方が簡単に実装できそうでしょう?
0293nobodyさん
2007/11/29(木) 09:52:52ID:???静的項目として「すべて」という項目を作り、
AppendDataBoundItems=trueにしています。
SqlDataSourceのSQL文のWHEREの対象句が文字列であれば
例:「…WHERE (Book like @Book)」として項目「すべて」のValueを「%」に
しておけば、選択されたらすべてが表示できるのですが
以下のように、対象句がIntの場合
SELECT ID, Book FROM tbl_Book WHRERE (ID = @ID)
DropDownListで「すべて」が選択された場合にすべてを表示
させる動きにするにはどのようにしたらいいのでしょうか?
使用しているデータベースはSQLSERVER2005EXPRESSです
0294nobodyさん
2007/11/29(木) 17:46:04ID:rMbVmK8t場合分けしたらいいんじゃないのかな。
0295nobodyさん
2007/12/04(火) 14:38:47ID:l2Tev5nwおかしくなったりするんですけど、これってどう対処すればいいですかね?
Widthを調整したり、全角と半角で微調整ってのは一応わかってるんだけど他に何か
うまいやり方ってあるかな?
0296nobodyさん
2007/12/04(火) 18:19:09ID:l2Tev5nw画面設計についてはVisualWebDeveroperのヘルプに書いてありました。
ネットで検索するよりヘルプの方が情報量多いね。盲点だった。
0297122x218x24x97.ap122.ftth.ucom.ne.jpfieojfefe
2007/12/05(水) 11:39:13ID:bGekTFEd0298ヘルプ
2007/12/07(金) 00:22:59ID:???ASPを使ってネットワークフォルダのファイルを参照したいのですが、うまくいきません。
認証はwindowモードでユーザ偽装をおこない、iiSの統合windows認証のユーザに偽装します。
そこでエクスプローラで
\\マシン名\フォルダ名だと参照できるのに同じユーザでASPにてファイルを参照しようとすると権限にてはじかれます。
どなたかわかりましたらお願いします。
0299nobodyさん
2007/12/08(土) 11:13:53ID:???あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり
他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。
以下のような構造になるのかなと考えています。
【ユーザ】←HTTP→【画面側プログラム@】←なんらかの方法→【プログラムA】←→インターネット
@:
ASPで、他者の発言の取得はn秒ごとにポーリングを行う。
(サーバプッシュ型にできればなお良い)
A:
EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。
@の状態には依存しない。
ASPにして@と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと
ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている)
そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って
プログラムを動かすことができるのでしょうか。
可能なら、@とAを一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして
全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。
これは可能でしょうか。
もう一つ、分ける場合には@とAで情報のやりとりをする必要があります。
Aでインタフェースを提供し、@はそれを呼び出すだけという形にしたいです。
@から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを
提供できないかなと思うのですが、AがASPじゃなく普通のEXEの時に、AでWebサービスを
実装するにはどのようにすればいいのでしょうか。
(AがASPなら、IISが良きに計らってくれますが…)
また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか?
妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。
よろしくお願いします。
0300nobodyさん
2007/12/08(土) 22:03:20ID:???0301nobodyさん
2007/12/08(土) 22:20:28ID:???ちょっと確認させてください。
Application_Startは、IIS起動後最初のユーザがページにアクセスして、
一つ目のインスタンスを作る時に発生。
Application_Endはすべてのセッションが切断された時に発生。
という認識であってるでしょうか。
できれば、IISからWebサイトを起動した時と停止した時にイベントを拾いたいのですが、
そういうイベントはありませんでしょうか。
0302nobodyさん
2007/12/08(土) 23:10:32ID:qOs8ePBrすみません。厳密にはVisual Studio 2005の使い方になってしまうかもしれませんが……。
ASP.netで使用中のデータベースの内容を見ようとしたのですが、サーバーエクスプローラの「データ接続」から.mdfファイルを開く(データベースに接続する)ことが出来ません。
「ユーザーの既定データベースを開けません。 ログインに失敗しました。
ユーザー 'hostname\username' はログインできませんでした。」
というダイアログが表示されます。
接続文字列内でAttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続すると、こういう使い方は出来ないのでしょうか?
0303nobodyさん
2007/12/08(土) 23:12:09ID:???Application_Endはアプリケーションがシャットダウンされるとき。
通常はユーザのアクセスが一定時間無かったとき。
サイト起動時ってのはASP.NET側ではない(まだ動いてもいないから)
サイト起動時にやらないといけない理由があまり見当たらないんだが…
0304302
2007/12/08(土) 23:12:38ID:???まだSelect文しか流してはいませんが、ASP.net側ではとりあえず接続は出来ているようです
>問題のデータベース
0305nobodyさん
2007/12/08(土) 23:14:08ID:???IISで動作中は、例えばIIS6だとNETWORK SERVICEユーザが使用中だから、
User Instance=Trueでは使えないはず。
0306nobodyさん
2007/12/08(土) 23:23:50ID:???ユーザが画面を開いていないときでも、チャットには繋げっぱなしにしたいのです…。
とりあえずWebサーバ起動時に繋げにいって、チャットの書き込みをサーバのログに吐く。
ユーザは必要な時だけWebサーバにアクセスするという形で。
自分だけが使うものなので、最悪、起動時は必ず画面を開いてApplication_Startを
呼んでやるという形でもいいのですが、終了時はApplication_Endでチャット切断処理を
やってしまうと、ユーザからのアクセスが無いときに勝手に接続が切れてしまうので…。
かといってどこかに明示的な切断を入れないと、アプリ終了後もタイムアウトするまで
チャットに居座りっぱなしになる行儀の悪いプログラムになるなあと。
ユーザの状態に依存しない開始と終了イベントを取れれば、
ユーザは必要な時だけWebサーバにアクセスし、ユーザはサーバ側のチャットへの
接続状態を気にしなくて済むようになり、サーバ側もユーザの接続状態を
考えなくて済むようになると思いまして。
画面側にはWebサービスとして、チャットで発言するメソッドと、画面更新のために
最新のチャットログを取得するメソッドくらいを提供してやればいいかなと。
0307302
2007/12/08(土) 23:31:32ID:???早速のお返事どもっす。
こーゆー使い方したかったらちゃんとSQL Server動かせってコトなんですね
……まぁ、「AttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続」するのが「ちゃんとしていない」ってコトはないんでしょうが……。
要はPHPのSQLiteとかJavaのHSQLDB(のスタンドアロンモード)と考えればOKかな?
手軽には使えるけど、ちょっとイヂりたいとかの場合は不便ですなぁ。
0308nobodyさん
2007/12/09(日) 00:53:07ID:???0309nobodyさん
2007/12/09(日) 00:57:02ID:???ようわからん、サイト起動時に接続するんじゃ
もはや切断なんて関係ないレベルですでに十分行儀悪いと思うが。
どうしてもそんな風にしたいんならサービス作るしかないんじゃない?
0310nobodyさん
2007/12/09(日) 05:00:17ID:???ちなみにEXEで作ってサービス化した場合、その中でWebサービスとして
メソッドを提供することは可能でしょうか?
それとも、WebサービスにしたいのならASPで作らないとダメでしょうか。
0312nobodyさん
2007/12/09(日) 18:17:59ID:???オブジェクトはどうなります?
要するに、ユーザがしばらくアクセスしなかったら、破棄されたりします?
0313nobodyさん
2007/12/09(日) 20:29:55ID:???まあtimeoutを伸ばすとか終了させないようにする手もあるが、
普通は必要ない。
0314nobodyさん
2007/12/09(日) 20:37:11ID:???例えば、今日一日のアクセス数を返すようなWebサービスは、変数をファイルに
書き出して保持しないと維持できない訳ですよね?
一番生存期間が長い(と思う)Applicationも、ユーザのタイムアウトによる
Application_Endで破棄されるみたいですし。
0315nobodyさん
2007/12/09(日) 22:29:07ID:???どっちにしても保証はされてないから結局Endで保存、
Startで読み込みとかは必要になる。
0316nobodyさん
2007/12/09(日) 22:30:01ID:???0317302
2007/12/09(日) 23:04:34ID:???TableAdapterを試そうとして少々苦戦しています。
VisualStudioでのビルドは通るのに、実行時に型または「名前空間名 'hogeTableAdapters' が見つかりませんでした」って出るのはどうしてでしょう?
……TableAdapter自体もよーわからんっす。Fillした後、どうやってデータを取り出せばいいんだろう?
「ASP.net 2.0 実戦プログラミング入門」という本を参考にしていますが、あまりいい本ではありませんね。
ちょっと後悔。
0318302
2007/12/10(月) 10:37:10ID:aKqH/kSMあ、申し訳ありません。age忘れてましたね。失礼。
0319302
2007/12/10(月) 18:53:27ID:???http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5228&forum=7
VisualStudioで面倒見てくれるときとくれない時があるのね。
引き続きTableAdapterに挑戦中……。
0320nobodyさん
2007/12/10(月) 22:35:57ID:???0321302
2007/12/11(火) 17:02:22ID:fZiANqi9TableAdapterの方はなんとなく判ってきましたが、わき道に逸れてGridView+FormViewなんてモノに手を出してます
なんとかマスターメンテらしきモノを作るところまでは出来たのですが、FormView側で登録・更新・削除した結果をGirdViewに表示させることが出来ません。
ググった結果「GridViewのEnableViewStateってプロパティをFlaseにすればOK」という情報までは取得できましたが、この設定にはなにか副作用があるのでしょうか?
単に「初めての表示/明示的な読み込みの結果を保持しておきたい」という目的以外にTrueにする意味はあるのですか?
0322nobodyさん
2007/12/13(木) 00:41:26ID:6Y2No+8Tコメットを使うことが出来ればやりたいことは実現できそう?
0323nobodyさん
2007/12/13(木) 22:05:12ID:???0324nobodyさん
2007/12/15(土) 12:37:07ID:???さらにSQLを投げてDataSetを作成することは可能ですか?
0326nobodyさん
2007/12/16(日) 01:51:04ID:???aspx
aspx.cs
designer.cs
とワンセットで表示されるのですが、家の環境はWebDevelopperで
designer.csがソリューションエクスプローラに表示されません。
aspxなどの場所にdesigner.csファイルもありません。
これはどうやって表示させるのでしょうか?
WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^;
なので、いつもファイルをダブルクリックして立ち上げるのではなく
WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・
0327nobodyさん
2007/12/16(日) 19:34:30ID:IvdqqwNSRepeaterにユーザコントロールファイルをセットして実行し、
ascx.csでRepeater.DataSourceに入っているデータレコードを取得したいのですが
そんな事は可能でしょうか?
this.rep.DataSource = dataTable;
this.rep.ItemTemplate = Page.LoadTemplate("Test.ascx");
this.rep.DataBind();
Test.ascx.csでdataTableのレコードを取得したい。
ascxでは
<%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "name") %>
で取得可能なのですが、これをascx.csでやりたい。
何でかと言うと、この値によって処理を変更したいからです。
お願いしますm(_ _)m
0328nobodyさん
2007/12/17(月) 03:20:00ID:???ds.table.select("id=1")でDataRow[]が取り出せたような…
これでデータセットに対するselect文は実現出来ない?
0329nobodyさん
2007/12/17(月) 18:30:50ID:???ありがとうございます。
発端というのが、SQL文が長くなってしまったので、
DataSetを一時テーブル代わりに、小分けにして実行できないかという
安直な思いつきだったのです。
DataSetを2つ作ってから要素を取り出して、
疑似LEFT OUTER JOINとかやってみたのですが余計に大変だなとw
そんな訳で…申し訳ありません。きちんと背景から書くべきでした。
0330nobodyさん
2007/12/19(水) 01:40:10ID:kIBGOFX3プロパティとかありませんか?
用途としては自分自身のページにパラメータをつけて
再度呼び出し、Request.QueryString()でその値を
取り出すためです。
0331nobodyさん
2007/12/28(金) 00:08:34ID:EfHkVobujavascriptでサブウインドウを作って、閉じる処理をしたいのですが
サブウインドウが閉じない場合があるので回避法を教えて下さい。
awin=window.open('a.aspx', 'a');
awin.close();
この場合うまく閉じる。
awin=window.open('a.aspx', 'a');
ポストバック発生
awin.close();
サブウインドウ閉じない。
0332nobodyさん
2007/12/28(金) 20:57:22ID:???俺は定数で宣言してる。
>>331
a.aspx内にウインドウを閉じるスクリプトを書き、
なんらかのイベントを受け取らせて実行させればいいんじゃね。
つか、ウインドウを開いて何のイベントも発生させず、
しかし、ポストバックを起こして閉じたいなんてどういう用途なんだ。
0333331
2007/12/28(金) 22:24:13ID:???回答ありがとうございました。
実際のコードは間に種々の処理がありますが、最小限の再現コードを
書いただけです。
とりあえず、解決しました。
a.aspxからopenerを一定間隔で監視し見つからなければ自身を
閉じることで実現しました。
openerが遷移した際は、opnerにhiddenを埋め込んでおきa.aspx側から
監視することで遷移を判断しました。
0334nobodyさん
2007/12/28(金) 22:29:01ID:???0335330
2007/12/30(日) 22:06:04ID:???System.IO.Path.GetFileNameを使って
取り出せました。
ありがとうございました。
0336nobodyさん
2008/01/01(火) 21:08:48ID:???ローカル環境(Web Developer 2005+SQLServer2005)でWebアプリを製作して、
とりあえず動くようになったのでサーバーにアップしたのです。
あ、サーバーはファーストサーバーのエクスプレス2です。無料のね。
なんとかかんとか設定を終えて、いざ実行!・・・したら、エラーがでるのです。
System.NullReferenceException:オブジェクト参照がオブジェクト インスタンスに設定されていません。
ってね。
ローカル環境では問題なく動作するのに、サーバーにアップするとエラーになるってのは、
どうしてなんでしょうか???
0337nobodyさん
2008/01/01(火) 22:26:23ID:???0338nobodyさん
2008/01/08(火) 19:46:24ID:???0340初心者
2008/01/24(木) 15:18:55ID:RPd1Q97NそれともAODだけなのでしょうか?
0341nobodyさん
2008/01/24(木) 15:36:11ID:7JZT46In<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
<asp:Label ID="heading" runat="server"></asp:Label>
</asp:Content>
のようなブロックがあったとして、Hoge.aspx.vbからasp:Labelを取得したいんですが、
どうやればいいのでしょうか?
単純に
Page.FindControl("heading")
では取得出来ないようで・・・
よろしくお願いします。
0342341
2008/01/24(木) 17:22:36ID:7JZT46In無理にFindControl使わずに、headingをそのまま使えるみたいですね。
しかし、新たな問題が。
Page.Request.QueryString("param1")
として取得したクエリ文字列に日本語が入っていた場合、
AscW関数で取得した数値が一律65533になってしまいます。
どうにか日本語のまま取得出来ないでしょうか?
よろしくお願いします。
0343341
2008/01/24(木) 17:50:53ID:???web.configに
<globalization requestEncoding="Shift_JIS" />
を書くことで日本語で取得できました。
0344nobodyさん
2008/01/24(木) 21:04:09ID:swcPOcpz目先の結果だけで変更しちゃっていいものなのか?
と、ちょっと思った。
0345341
2008/01/24(木) 21:23:24ID:0wPjeug70346nobodyさん
2008/01/25(金) 21:27:35ID:???コンテンツに、vbファイル内にて取得したhtml文を出力させたいのですが
どうやったらよいのでしょうか?コードは次のようになります。
■test.aspxの中身
<%@ Page Language="VB" MasterPageFile="~MasterPage.master"
AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
?ここに、test.aspx.vbの変数AAAAAに格納されたhtml文を出力するコードを書きたい。?
</asp:Content>
■test.aspx.vbの中身
Partial Class CountMonth Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) Handles Me.Load
AAAAA="<table><caption>サンプル</caption><tr><td colspan=0 align=center><b>ほげ</b></td></tr></table>"
End Sub
End Class
0347nobodyさん
2008/01/27(日) 12:57:11ID:???344とは別人ですが,
「考えてShift_JISに変えることで問題を解決させた」なら良いけど,
「Shift_JISに変えてみたら解決した(ように見えた)」なら不安や疑問が残るのは当然。
限定された利用環境でしか通じない(=限定された利用環境では通じる)
ということを理解してるなら問題無いと思う。
345は自分の想定している利用環境を見つめ直してみると良いんじゃない?
自分用アプリだとしでもDB絡みとか考えることは色々あるかも知れない。
文字の符号化の問題はなにかと躓きやすい問題の一つ。
0349nobodyさん
2008/01/28(月) 20:37:23ID:???さきほどクリックしたノードがハイライトになっているようにしたい。
どのようにすればいいでしょうか。
参考になるサイトありましたらリンク先でもはっていただけると助かります。
よろしくお願いします。
0350nobodyさん
2008/01/31(木) 20:49:43ID:pr1Jn4LS0351nobodyさん
2008/02/01(金) 12:55:47ID:Ik8bhfAOとりあえずウィザードで作ったページに、_Defaultってクラスが生成されました。
Page_Load()とかに制御が来るのは分かりました。
このインスタンスっていつ削除されますか?
デストラクタを書いたら、起動時に飛んでくるんですけど...;
中でソケット通信していて、終了する時にはCloseしてやりたいのですが、
いつ終了されるか分からなくて...。
宜しくお願いします。
0352nobodyさん
2008/02/01(金) 13:05:10ID:???ページのコントロールを取得、各プロパティを変更したいです。
Me.ControlsをForで回して取ろうとしたところ
マスターページのControlsが取得されてしまいうまくいきませんでした
他に方法はありませんでしょうか?
変更対象が100個くらいあるので・・
1つ1つ変更するのはできれば避けたい所です。
ご教授よろしくお願いします
0353352
2008/02/01(金) 15:54:44ID:???Master.FindControlで探してきてDirectCastで取ってこれました
0354nobodyさん
2008/02/04(月) 14:54:56ID:???シンプルでメンテしやすい(Javascriptからの扱い等)と思うのは俺だけ?
0355nobodyさん
2008/02/07(木) 10:29:47ID:WbXuHs4Aここの「サーバーのメモリに任意のオブジェクトをキャッシュする」ってところのプログラムなんですが、
SqlConnectionをcloseしていません。
これは大丈夫なのでしょうか?
0356nobodyさん
2008/02/07(木) 19:17:02ID:???そしてSqlDataAdapterは非接続型だ。
後はわかるよな?
0357nobodyさん
2008/02/09(土) 17:40:07ID:???IPアドレスが違えばユニークになると思いますが
それ以外にはたとえばUserAgentが変わってもユニークに
なりますか?
0358nobodyさん
2008/02/09(土) 18:40:06ID:???0359nobodyさん
2008/02/11(月) 01:40:21ID:???sessionid がクライアントから投げられてこなけりゃ新しく生成される。
だからたとえ同じUAでも別途立ち上げれば別セッションとして扱われる。
UAが投げてるRequest見ると分かりやすいかも。
FiddlerだのWebDevelopmentHelperだので見ると幸せになれるかも知れん。
0360nobodyさん
2008/02/11(月) 10:12:41ID:8IeW4FxXただ、Fillメソッドの中で Open と Close してるだけ。
0361nobodyさん
2008/02/11(月) 11:40:28ID:???0362nobodyさん
2008/02/14(木) 00:08:37ID:???TableAdapterのGetDataでデータテーブルを取得した後
ObjectDataSourceコントロールを使用せずに、コードでGridViewと連結しました。
この場合のGridViewの複数の列に対して非表示の設定を行いたいのですが
どのようにコーディングすればよいのでしょう?
0363nobodyさん
2008/02/14(木) 00:32:20ID:???0364nobodyさん
2008/02/15(金) 00:12:20ID:???GridViewの列数をカウントしても0となってるんで悩んでました
0365nobodyさん
2008/02/15(金) 21:57:56ID:???0366nobodyさん
2008/02/18(月) 18:21:09ID:p++OLHN+統合Windows認証で認証を行うようにしてあります。
先日、IE6からIE7に切り替えたのですが、上記のサイトに接続する際にユーザ名と
パスワードを確認するダイアログが出るようになりました。
従来どおり、ダイアログが出ないようにするにはブラウザの設定が必要なのでしょうか?
インターネットオプションの信頼済みサイトには上記のサイトが入っています。
IE6では、これを設定すればダイアログが出ないようになりました。
0367nobodyさん
2008/02/18(月) 18:30:11ID:???今までは信頼済みサイトにサイトを入れていたのですが、イントラサイトに入れなおして
ログインのオプションを調整したら入れるようになりました。
お騒がせしました。
0368nobodyさん
2008/02/19(火) 14:46:13ID:???ASP.NETをはじめたばかりなので、どのコントロールを
使ったらいいかというレベルです。
掲示板みたいに、ログファイルを整理して表示するページを作っているのですが、
どのコントロールを使ったらよいのでしょうか。
DataListを見ると、1行おきに設定できるのは、色だけであり、
フォント関連のタグは指定できません。
Tableも、値を追加することは出来ても、フォント関連のタグは
指定出来ません。
ASP.NETは、デザインで、オブジェクトを配置してプログラムする
スタイルですので、プログラムのループで、オブジェクトを配置というのも
出来ませんよね・・・
0369368
2008/02/19(火) 15:04:42ID:???例えば、以下のサイトのサンプルの掲示板では、
書き込む時にログファイルにタグも含めて書き込んでしまい、
データを表示するときに、すべてのデータをLabelに表示する
という形式を取っています。
ttp://aspnet.cguild.com/download.html
ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
私は、2ch.netみたいに、データだけのログファイルがあり、
それを自由にレイアウトしながら表示するというものをしたいのです。
これが、Perlだとすぐにイメージがつかめるのですが、ASP.NETとなると
プログラムの全体概要のイメージが出来ないのです。
それで、どういうコントロールを使ったら良いのかを質問してみました。
0370nobodyさん
2008/02/19(火) 21:10:25ID:???>フォント関連のタグは指定できません。
DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
>ASP.NETは、デザインで、オブジェクトを配置してプログラムする
そらホームページビルダーだろw
基本的にデザインビューは、知らない人が保守で見たときに
オブジェクトの相関関係が目で見て分かりやすいってものだと俺は認識してる。
コードで書けばいい。
>データを表示するときに、すべてのデータをLabelに表示する
Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
>ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
0371nobodyさん
2008/02/20(水) 01:53:44ID:???レスありがとうございます。
> DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
> マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
なるほど。私がイメージしてたものとは違うということのようですね。
コントロールの使い方について学んでいく必要があります。
> コードで書けばいい。
開発環境を使わずにメモ帳を使ってということですよね?
そっちのスタイルでも書いている方は結構いらっしゃるようですね。
> Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
spanで囲むだけだったのですか。
何か特別なオブジェクトに格納するので、あまり長い文字は入れたり
しない方がいいのかなと思ったりしていました。
だったら、あの仕様でも良いですね。
> んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
> ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
分かりました。書籍を購入して読んでみます。
しかし、ちょっと気になったのですが、ASP.NETなど製品版の場合、PHPやPerlに
比べてネットだと情報量が少ないですよね。。。開発をしようとすると非常に費用が
かさむ世界なのでしょうか。。
0372nobodyさん
2008/02/20(水) 03:13:04ID:???ASP.NETで書くと、それを表示する環境側にあわせたhtmlコードを出力する仕様だと
いうことですが、それは、コントロールを配置した場合に限るのですよね?
コントロールを配置する範囲でうまくいかない場合はstringに自分でタグをいれこんで
それをまとめて出力するとかやる事が多いと思うのですが。
このメリットは、本当に現場で活かされているのか、ちょっと疑問だと思いましたので
質問をしてみました。
ttp://www.atmarkit.co.jp/fdotnet/aspnet/aspnet01/aspnet01_03.html
0373nobodyさん
2008/02/20(水) 23:45:41ID:???>開発環境を使わずにメモ帳を使ってということですよね?
違う違うVS2005。言いたかったことは、君が思ってるよりも
コード(aspx.vbや.vb)の手打ちで実装させることが多いということ。
TextBoxのonblurイベントからJScriptFunctionを仕込んだり、
GridViewに複数列をキーとしたソートを実装したり、
JScriptでの結果をASPにreturnして、さらにその結果をJScriptに返したりとか、
デザインビューのプロパティやコンテクストメニューとかに
項目が存在していなくても、コードを書けばなんとでもなることが多い。
>PHPやPerlに比べてネットだと情報量が少ないですよね。。。
。。。と付ける程少なくないと思うが。つかMSDNとヘルプでほぼ事足りる。
ASP.NETのクイックチュートリアルとか読んだか?試したか?
>開発をしようとすると非常に費用がかさむ世界なのでしょうか。。
ヒント:天下のM$様が開発された代物
つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
>>372
>このメリットは、本当に現場で活かされているのか
活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
どうしても使わざるを得ない場合は設計を見直す。
MVCモデルとかOOPとかその辺の本も買ってきな。
0374nobodyさん
2008/02/20(水) 23:49:11ID:???>活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
文字列にタグを入れ込んで表示することが、ね。
0375nobodyさん
2008/02/21(木) 00:21:53ID:???レスありがとうございます。
> デザインビューのプロパティやコンテクストメニューとかに
> 項目が存在していなくても、コードを書けばなんとでもなることが多い。
プロパティに項目がなければ、なすすべが無いみたいに思っていたのですが、
現場の開発ではそうでもないのですね。
私は個人的に、工夫をするコードを書くと、あらかじめ準備しているクラスを活かしきれて
いないことから、重いだけの無駄な処理をしているようなイメージを持っていたのですが、
このあたりが間違っていたようですね。
> ASP.NETのクイックチュートリアルとか読んだか?試したか?
それは読んでませんでした。@ITの記事を読みながらやってましたので。
愚痴のような話ですが、Microsoftの入門者向け情報で、VBなどは読んでいたのですが、
ウィザードを使って、作って、ほら便利でしょ。終わり。という系統のが非常に多くて、
それに応用性が無いと思って読まなくなってました。M$のは中級者向けのがないですよね。
リファレンスはしっかりとしてますが、具体的な応用性がいまいちイメージできなかったり
しています。
> つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
そうです。今は個人でやってます。会社でやることも考えて勉強のような位置づけです。
やはり、チームを組んでアプリを組む場合にメリットがあるわけであり、どんな場合でも
メリットがあるわけではないのですね。参考になりました。
ありがとうございます。
0376nobodyさん
2008/02/21(木) 07:34:22ID:???> 活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
> (文字列にタグを入れ込んで表示することが、ね。 )
> どうしても使わざるを得ない場合は設計を見直す。
コントロールを配置する方向で実現する方法があるのですね。
工夫をしてそのような方法が出来るかを見てみます。
> MVCモデルとかOOPとかその辺の本も買ってきな。
ASP.NETは、他のフレームワークと比べてMVCを意識しなくていいという
記事もあります(記事はASP.NET 1.0ですが)が、やはり、開発にはMVCを
意識して、役割を分けて作る必要があるということなのですね。
http://www.atmarkit.co.jp/fdotnet/special/aspstruts01/aspstruts01_04.html
MVCで検索するとjavaが良くヒットしますが、ASP.NETを例にしたものは、
簡単な文章のものしか見たことがありませんが、これは、MVCを理解して、
それをASP.NETで応用するという意味でしょうか?
0377nobodyさん
2008/02/21(木) 15:02:01ID:???それとも<br>なども含めた話ですか?
0378nobodyさん
2008/02/21(木) 16:09:59ID:???DataListのDataSourceを文字列にすると、意図するように表示されるのですが、
ADO.NETでDataReaderから取得した文字をDataSourceに指定すると、
1マスに1文字となってしまいます。
取得した文字の確認の為、Label等に出力させてみても、改行などは入って
いないのですが、DataListにすると、1文字ずつに分断されて表示されてしまいます。
これは、何処が問題なのでしょうか?
DataListのコード
<asp:DataList id="datalist" runat="server" CellPadding="1">
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:DataList>
つづく
0379378
2008/02/21(木) 16:11:00ID:???string[] st = {"aaa", "bbb"};
datalist.DataSource = st;
datalist.DataBind();
の出力結果は、
aaa
bbb
OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
string st = dr["タイトル"] + "," + dr["メッセージ"];
datalist.DataSource = st;
datalist.DataBind();
の出力結果は、
a
a
a
,
b
b
b
b
0380nobodyさん
2008/02/23(土) 22:33:31ID:???そのhoge.csのusing 宣言でSystem.Dataが認識されません。
System.入力後にインテリセンスでもSystem.Dataが出てきませんし、メンバも利用できません。
参照設定でSystem.Dataを参照しても変わりません。
どこを修正すればよろしいのでしょうか?
0381nobodyさん
2008/02/26(火) 10:27:21ID:???上のコードは文字列の配列を渡しているのだから、
下のコードも同じように文字列の配列を渡すようにすれば良いじゃない
0382nobodyさん
2008/02/26(火) 10:30:08ID:???でどう?
0384nobodyさん
2008/02/28(木) 23:40:54ID:???どうすればいいですか
0386nobodyさん
2008/02/29(金) 00:28:07ID:???ブレークポイント設定して順に追ってみたのですが、どのタイミングで消えるのか分かりませんでした・・・
0387nobodyさん
2008/02/29(金) 00:38:41ID:???0388nobodyさん
2008/02/29(金) 01:25:24ID:???■ このスレッドは過去ログ倉庫に格納されています