トップページphp
986コメント449KB

【質問】ASP.NETスレ Part4【議論】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/17(火) 23:49:46ID:pyJr9yIy
●過去ログ
Part1 - 【質問】 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/
0374nobodyさん2008/02/20(水) 23:49:11ID:???
補足:
>活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
文字列にタグを入れ込んで表示することが、ね。
0375nobodyさん2008/02/21(木) 00:21:53ID:???
>>373
レスありがとうございます。

> デザインビューのプロパティやコンテクストメニューとかに
> 項目が存在していなくても、コードを書けばなんとでもなることが多い。
プロパティに項目がなければ、なすすべが無いみたいに思っていたのですが、
現場の開発ではそうでもないのですね。
私は個人的に、工夫をするコードを書くと、あらかじめ準備しているクラスを活かしきれて
いないことから、重いだけの無駄な処理をしているようなイメージを持っていたのですが、
このあたりが間違っていたようですね。

> ASP.NETのクイックチュートリアルとか読んだか?試したか?
それは読んでませんでした。@ITの記事を読みながらやってましたので。
愚痴のような話ですが、Microsoftの入門者向け情報で、VBなどは読んでいたのですが、
ウィザードを使って、作って、ほら便利でしょ。終わり。という系統のが非常に多くて、
それに応用性が無いと思って読まなくなってました。M$のは中級者向けのがないですよね。
リファレンスはしっかりとしてますが、具体的な応用性がいまいちイメージできなかったり
しています。

> つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
そうです。今は個人でやってます。会社でやることも考えて勉強のような位置づけです。
やはり、チームを組んでアプリを組む場合にメリットがあるわけであり、どんな場合でも
メリットがあるわけではないのですね。参考になりました。

ありがとうございます。
0376nobodyさん2008/02/21(木) 07:34:22ID:???
>>373-374
> 活かされてるも何も、うちの会社では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:???
>>374さんの話は、<asp:〜 runat=server>タグに限った話ですか?
それとも<br>なども含めた話ですか?
0378nobodyさん2008/02/21(木) 16:09:59ID:???
DataListの使い方について質問です。
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>

つづく
03793782008/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:???
app_codeフォルダを作成し、その中にコードファイルhoge.csを作成したのですが、
そのhoge.csのusing 宣言でSystem.Dataが認識されません。
System.入力後にインテリセンスでもSystem.Dataが出てきませんし、メンバも利用できません。
参照設定でSystem.Dataを参照しても変わりません。
どこを修正すればよろしいのでしょうか?
0381nobodyさん2008/02/26(火) 10:27:21ID:???
>>379
上のコードは文字列の配列を渡しているのだから、
下のコードも同じように文字列の配列を渡すようにすれば良いじゃない
0382nobodyさん2008/02/26(火) 10:30:08ID:???
string[] st = { dr["タイトル"], dr["メッセージ"] };
でどう?
0383nobodyさん2008/02/28(木) 13:48:03ID:???
>>381-382
それでうまくいけました。
渡すデータの形が悪かったのですね。
ありがとうございました。
0384nobodyさん2008/02/28(木) 23:40:54ID:???
パスワード入力のinputってポストバックしたら消えるけど、この値を常に表示させたいが
どうすればいいですか
0385nobodyさん2008/02/28(木) 23:51:48ID:???
>>384
Cookieとかじゃダメ・・・?
0386nobodyさん2008/02/29(金) 00:28:07ID:???
すみません。クッキー以外でお願いします。
ブレークポイント設定して順に追ってみたのですが、どのタイミングで消えるのか分かりませんでした・・・
0387nobodyさん2008/02/29(金) 00:38:41ID:???
どうしてもというのであればSessionにつっこむ
0388nobodyさん2008/02/29(金) 01:25:24ID:???
やっぱりSessionしかないのですね。ありがとう
0389 [―{}@{}@{}-] nobodyさん2008/02/29(金) 13:04:10ID:????PLT(21001)
>>384
PassBox.Attributes.Add("value", "パスワード")
でいかが?
03903842008/03/01(土) 13:09:02ID:???
>>389
完璧です!
0391nobodyさん2008/03/05(水) 12:54:57ID:???
ページ内でエラーが発生してcatch句で処理する場合など、
エラーが発生したことを表示させるにはLiteralとかで表示させるのが一般的なのでしょうか?
0392nobodyさん2008/03/05(水) 21:45:09ID:???
global.asaxでまとめてcatchしてエラーページに飛ばす。
0393nobodyさん2008/03/06(木) 14:34:16ID:???
サイト発行で完全コンパイルしていますが、特定ページのみコンパイルしない状態を作ることは出来るのでしょうか。
0394nobodyさん2008/03/07(金) 00:12:53ID:???
ASP.NETでASP.NETを実行してるユーザーの権限とかいじらずに
デフォルト状態でファイルとかにログを吐くにはどうしたらいいのでしょうか?
0395nobodyさん2008/03/07(金) 00:47:49ID:???
普通にglobal.asaxとかで出来ない?
出来ないならNetwork Serviceアカウントに権限与える必要あり。
FileSystemAccessRuleクラス当たりをググってみて
0396nobodyさん2008/03/07(金) 01:04:24ID:???
App_Dataにでもはいとけ
0397nobodyさん2008/03/07(金) 16:14:45ID:???
>396
うまくいきました。
0398nobodyさん2008/03/08(土) 19:12:02ID:J6kJ8MXk
asp.netのSessionについて調べているのですが、
Session.SessionIDプロパティの値って、いつ設定されるのでしょうか?
最初にwebアプリのaspxファイルにアクセスした時ですか?
0399nobodyさん2008/03/08(土) 22:01:34ID:???
はい。該当の仮想ディレクトリにアクセスされた時です。
0400nobodyさん2008/03/08(土) 22:33:34ID:???
うそつけ
0401nobodyさん2008/03/08(土) 22:34:01ID:???
自宅でASP.NETの勉強をしようと思い参考書を買ったのですが、不具合が…
参考書では

>Windowsコンポーネントの追加と削除」→
>Windowsコンポーネントウィザード」→
>インターネット インフォメーション サービス(IIS)」にチェック→
>「詳細」を左クリックします。

もうこの時点でアウト。
『インターネット インフォメーション サービス(IIS)』自体が表示されてません。
非常に困ってます。どうすれば表示されますか?教えてチャンですいません。
0402sage2008/03/08(土) 22:46:29ID:J6kJ8MXk
Sessionオブジェクトに値を設定したときかな。
IsNewSessionプロパティを見れば判るかも。
0403nobodyさん2008/03/08(土) 22:50:25ID:???
>401
環境は?XPの場合Home Editionだと×。IISはProfessional Edition 以上
04044012008/03/08(土) 23:10:59ID:???
OSはXP Home Editionです。
Professional Edition以上とは参考書に全然書いてないんで、安心しました。

勉強段階で行うのはアプリの動作確認だけだし、
使ってるレンタルサーバが「ASP.NET対応!テスト使用にもどうぞ」って謳ってるので、
IISは必ずしもクライアント側では必要ないのかも? という気がしてきました。
(間違ってたらご指摘下さい。)

お早いレス、有難うございます。
0405nobodyさん2008/03/08(土) 23:12:21ID:???
>>404
まあ、必要ないっちゃあ必要ない。
ただ、デバッグとかするのにはあるほうが数倍便利。
0406nobodyさん2008/03/09(日) 01:40:07ID:???
>参考書では
いつの参考書だ?
0407nobodyさん2008/03/09(日) 09:06:44ID:???
>>404
OSはXP HEは駄目だと表記されてない書籍というのは相当怪しくないか?
あと、出来れば、プログラムが無限ループになる可能性もあるから、
レンタルサーバの使用は避けた方がいいと思うけどな。
あと、XP HE でも、ASP.NETは動かすことは可能だぞ。2005以降のIDEだと
自動でローカルで動作確認が出来るツールが入ってくるし。
0408nobodyさん2008/03/10(月) 20:47:04ID:X6+NrWjc
>>404
Virtual PC + Windows Server 2003 180日評価版
0409nobodyさん2008/03/12(水) 23:23:12ID:???
変数をstaticで宣言した場合、いつまで保持されるのでしょうか
ポストバックしても残ってますが そのページ内でのみ残ってるのでしょうか
0410nobodyさん2008/03/13(木) 20:24:46ID:???
ASP.NETワーカープロセスが終了するまでじゃないの
0411nobodyさん2008/03/13(木) 21:15:47ID:???
それはないわ
0412nobodyさん2008/03/13(木) 22:14:20ID:???
正確にはアプリケーションドメインがアンロードされるまでだが、
ワーカープロセスが終了するまでというのはぜんぜん違うというほどではない。


>それはないわ
どういう意味で言ったのかね?
04134092008/03/14(金) 00:11:32ID:???
ありがとうございます。
Session変数みたく扱えるってことですね。逆にむやみやたらと使うと
ワーカープロセスが終了するまで残ってしまうのでよくないですね
0414nobodyさん2008/03/14(金) 14:35:37ID:???
旧ASPのコードをそのまま動かす方法はないでしょうか?

Google AdSenseのモバイル広告を使いたいのですが旧ASPのコードさかないので・・・
0415nobodyさん2008/03/14(金) 14:36:23ID:???
さかない→しかないの間違いです
0416nobodyさん2008/03/14(金) 16:42:53ID:???
ASP.NET3.5+AJAXではじめるECサイト構築入門って本買ったんだけど
ウリの一つのネットショップのサンプルファイルがCDから洩れてるし。

MasterPageHorizontalMenu.ascx.vb
誰か↑のファイルなんとかしてくれ。
0417nobodyさん2008/03/14(金) 22:57:12ID:???
あほか、機能くらい書けよw
実現してやるから
0418nobodyさん2008/03/17(月) 00:49:50ID:???
質問です。
環境:VisualBasic 2005 ASP.NET2.0 AJAX Control Toolkit


CascadingDropDownのListBox版というのは不可能なのでしょうか?
CascadingDropDownはListBoxに適用できないため自力でやるしか方法はないのでしょうか?
0419nobodyさん2008/03/17(月) 01:05:13ID:???
>>418
どうぞ
http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22966482.html
0420nobodyさん2008/03/19(水) 14:24:55ID:zbaC+I0y
IIS6.0でASP.NET3.5を動かすことはできるのでしょうか?
設定の方法が載っているサイトなどあれば教えてください。
0421nobodyさん2008/03/19(水) 17:19:26ID:n1YREe+h
すみません。自分はJavaプログラマでしたが、スレッド恐怖症です。

デッドロックとかむかつきます。

ASP.NETなら、スレッドは関係ないですか?PHPみたいにスレッドが関係ないといいです。

よろしくお願いします。
0422nobodyさん2008/03/21(金) 07:32:02ID:???
>>421
何を聞きたいのかわからん
04234212008/03/21(金) 20:41:42ID:???
>>422 どうもレスありがとうございます。漫画喫茶からのアクセスなのでどうしても
お礼が遅くなってしまいます。私が聞きたいのは、Javaだとサーブレットでは
通常はdoGetもしくはdoPostメソッド内での処理を書くのですが、それらメソッド外(いわゆるグローバル変数)を使います。
その場合、サーブレットは1つのクラスがマルチスレッドで動いているものですから、グローバル変数はマルチスレッド対応の
ソースコードを書かないとバグを引き起こします。しかし、PHPだと言語の仕様上そのような配慮はいらないです。
VB.NETでWEBのソースを書く場合はどうなのかとおもいまして。

また、答えていただけたら、幸いです。
0424nobodyさん2008/03/21(金) 23:35:42ID:???
それはマルチスレッド云々の問題ではなく、グローバル変数の利用法に
配慮したコーディングが出来てないだけじゃないのか・・
0425nobodyさん2008/03/22(土) 17:19:32ID:???
PHPだと配慮しなくてもOK
Javaだと配慮しないとNG
で、ASP.NETは?って聞いてんだろ。きっと。
0426nobodyさん2008/03/22(土) 23:31:55ID:???
>>421
PHP:マルチスレッド非対応
Java:マルチスレッド対応
ASP.NET:マルチスレッド対応

以上。

って言うのもこのスレ的にアレなのでASP.NETを使ってみて欲しい。

今回のケース(VB.NET)では一番簡単なマルチスレッド対応として
SyncLockを使えば良いだけに思える。(Javaのsynchronizedっぽいの)

慣れてきたら色んな排他制御の仕組みを適材適所で使い分けましょう。
例えばReaderWriterLockクラスはお手軽度では結構上位かな。

>>424
グローバル変数の利用法に配慮したコーディングって……
具体的にどういうコーディングか考えたらわかると思うけど,
マルチスレッドを考慮するってことに含まれるでしょう。
0427nobodyさん2008/03/23(日) 21:39:50ID:x4MgCEzm
ASP.NETでマルチスレッドってどんな場合に使用するのでしょうか?
当方初心者で思いつかないのですが
0428nobodyさん2008/03/24(月) 03:23:35ID:ct6byZwV
デザイナでDropDownListコントロールを配置し、
データソースの設定をし、DBより取得したレコードを
DropDownListに表示しています。
それはいいのですが、使用時に未選択を示す
空文字の行がありません。
つまりDBに"1","2","3"と3つレコードがあり、それをDrowpDownListに
取り込むことはできたのですが、実際使用する時には
""の行も必要なので困っています。
1.こういう場合どうするべきでしょうか?(DB側のテーブルに空文字の行を追加することは避けたい)
2.また、フォームのLoadイベントでリストの元データになっているDataTableにアクセスしたかったのですが、
 やり方がわかりませんでした。
 どうやればアクセスできますか?
 イメージ的にはMe.dataset.Tables[〜〜
 のようにフォームを初期化するために使用したデータセットがどこかに保存されているような気がするのですが。。
0429 [―{}@{}@{}-] nobodyさん2008/03/24(月) 11:45:00ID:???
>>428
1.静的アイテムを定義しておいて、AppendDataBoundItems=Trueにするのが簡単かな
2.DataBoundイベントで行データにアクセスできるけどそれじゃ駄目?
04304282008/03/25(火) 01:21:28ID:???
>>429
>1.静的アイテムを定義しておいて、AppendDataBoundItems=True
これでばっちりです、これが知りたかったです。
ありがとうございます。

>2.DataBoundイベントで行データにアクセス
うーん、どこかの変数にリストボックスの作成元になっている
データセットへ直接アクセスするようなことはできないでしょうか?
04314232008/03/27(木) 19:17:41ID:jex5dQtQ
どうもありがとうございます。

よくわかりました。わたし、Java初めて3年になるんですが、
もうフレームワークやらなんやらで、ほとほとつかれました。

MSのならば、言語仕様がしっかりしてるとおもいました。
一応スレッドはあるみたいですが、がんばってみます。

思い切って、ASP.NETをやってみます。どうもありがとうございました。

お礼が遅れてすみませんでした。今日、仕事帰りに漫画喫茶にこれました。
0432nobodyさん2008/03/28(金) 00:19:18ID:oYl8aU09
開発時と運用時でフォルダ構成が違うため相対パスが違うので
プログラムで相対パスを書く時に困ってしまっています。
開発時画像を表示する相対パスを書いて、それを運用時のフォルダへコピーし、実行すると
画像への相対パスが変わってしまうため表示できません。
運用フォルダでは画像ファイルは*.aspxファイルより上の階層にあります。
開発時と運用時の相対パスの違いって
どうやって切り替えるとよいでしょうか?
それか実行時に動的にwebconfigあたりから相対パスを読み出してくるような方法ないでしょうか?
0433nobodyさん2008/03/28(金) 01:16:08ID:???
相対パス、相対パスって言ってるけど意味分かってるんだよね?
開発と運用で相対位置が上位と下位に分かれてるなんてどーしよーもないよ。

というか開発時と運用時で画像への相対パスが違うって事自体理解できん。
運用に合わせて開発環境整えればいいだけだと思うんだけど・・・
どういう理由でできないの?

04344322008/03/28(金) 01:40:35ID:???
>>433
相対パスの意味はOKです。
やはり運用環境に整えるのが当たり前ですか。
運用環境では*.aspxの配置してある階層より上の階層に画像があるのが
問題なんですね。
今運用環境が以下なのですが、
http://(root)/test.aspx
このtest.aspxの階層を一つ下げて
http://(root)/home/test.aspx
などとすれば画像へのパスが
http://(root)/img/a.jpg
となり開発時運用時共に同じ構成で作成できます。
今回は運用環境が実際は定まっていなかったので
運用環境のフォルダ構成を見直すことで
開発時と統一したいと思います。
ありがとうございました。
0435nobodyさん2008/03/29(土) 17:22:30ID:???
>>434
Web.configに絶対パスを書いて画像を指定するときに置き換えてやればいいじゃない
0436nobodyさん2008/03/30(日) 11:49:34ID:???
便乗なんだけど、パス書くときに~/で書けば自動変換してくれるけど、
<script>タグの場合は、runat=serverにしたらエラーなるけど、何か方法ないですか
04374322008/03/31(月) 05:18:43ID:???
>>435
ですね、
そう言う方法が知りたかったです。
ですが今回はフォルダ構成に関しては開発環境=運用環境が
基本と言うことをお教えいただいたのでそうしますね。
ありがとうございます。
0438nobodyさん2008/03/31(月) 05:30:55ID:RxSssc/i
DataListコントロールを利用してDBからのデータを表示しているのですが、
思うように表示できません。
イメージ的には水平に表示させていってウィンドウの右端までいくと
次の行に続きを表示したいんです。
1,2,3,4,
5,6,7,8,
みたいな感じです。
今回の例ならRepertColumnsに「4」を指定し、
RepertDirectionを「Horizontal」にすればよいのですが、
実際はウィンドウの幅がわからないためRepertColumnsの値がわかりません。
どうすればよいでしょうか?
ウィンドウサイズが変更された場合に自動的に
1,2,3,
4,5,6、
7,8
と並びを変えたいのですが。。
0439nobodyさん2008/04/01(火) 00:14:49ID:???
>>438
RepeatLayoutをFlowにしてインライン要素で敷き詰めたらどうだろうか。
04404382008/04/02(水) 01:45:15ID:???
>>439
RepeatLayoutをFlowにしてみたんですが、一行に1つずつのアイテムが
下へずらずらと表示されるだけでした。
インライン要素で敷き詰めるとはどうゆうことを指すのでしょうか?
すみません。
04414162008/04/02(水) 10:00:56ID:Y/05D5yF
>>416
ASP.NET3.5+AJAXではじめるECサイト構築入門
の作者が対応とってくれました。感謝。
http://www.friendlysw.com/aspnet/asp35/book.asp

416の時点で出版社へメールを送ったが、出版社からは音沙汰なしのままだった。
この対応については、ちと不満。
改訂版もしくは、初版以降の版では直ってることを願う。
書籍自体は、動くサンプルコードが豊富であり参考にはなると思った。
0442nobodyさん2008/04/02(水) 10:17:30ID:???
>>438
まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
ウィンドウ幅に余裕があるかぎりデータが横に並べられ、幅を変えるとそれに合わせて改行位置が変わることを確認できるはず。

これをDataListで再現できればいいわけだ。
RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
04434382008/04/04(金) 00:38:51ID:???
>>442
>まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
こちらはうまくできました
>RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
こちらは無理でした。itemtemplateの内部を<span>で囲ったんですけど。。
ItemTemplateの中で表タグ使ってるのが問題かもしれません。
と思って外したんですがやはり無理でした。
ここまで来るとASPというよりタグの問題かもしれません。
そもそもDataListがtableタグを使って表現している以上
ItemTemplate内でtableタグを使った場合、ウィンドウサイズが変動しても自動で列数が変わるとか
無理な気もしてきました。。
04444382008/04/04(金) 00:48:24ID:???
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
訂正

そもそもDataListがtableタグを使って表現しているので
テーブル内で<span>使ってもテーブル自体の列数がウィンドウサイズによって
動的に変動するとか無理なような気がしてきました。
0445nobodyさん2008/04/04(金) 09:38:27ID:???
RepeatLayout=FlowだとDataListはspanタグを吐くだろ?
0446nobodyさん2008/04/04(金) 22:07:24ID:btrOMdCP
SqlCommandでパラメータ使ってますが、省略可能なパラメータって定義できますか?
検索条件によってパラメータが無い場合もあるので、どのように対応すべきか悩んでいます。
0447nobodyさん2008/04/05(土) 16:12:22ID:???
条件によってcommandTextから変える
04484462008/04/05(土) 19:28:34ID:/o0gPsTY
>>447
レスありがとうございます。やはり動的にSQL文を生成するしかないのですか。
04494382008/04/05(土) 20:09:31ID:???
>>445
ほんとだ。。
検証ミスってすみません。ちゃんとspan吐いてました。
こんなん書いたら
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="1000" RepeatLayout="Flow">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# eval("出版社名") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br />

こんなん出力されてました。
04504382008/04/05(土) 20:09:52ID:???
<span id="DataList1"><span>
<table>
<tr>
<td>
<span id="DataList1_ctl00_Label1">集英社</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl01_Label1">小学館</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl02_Label1">講談社</span>
</td>
</tr>
</table>
</span><span>
04514382008/04/05(土) 20:11:49ID:???
ブラウザの見た目としては
集英社
小学館
講談社
メディアワークス
徳間書店
角川書店
竹書房
こんなんなっちゃいまして
期待としてはテーブルの中に入った出版社名が
右へずらっとウィンドウの右端まで表示したいのですが、
どうしても下へ並んでしまいました。。
0452nobodyさん2008/04/05(土) 21:40:40ID:???
>>438
Repeaterコントロール使えば良いんでね?
ItemTemplateの中身をひたすら繰り返すだけのシンプルなものになるから。
後はdivでもなんでも使えばよかろ。
0453nobodyさん2008/04/05(土) 21:42:06ID:/o0gPsTY
>>451
CSSの対応で、どうでしょうか?
>>450の場合だと
span#DataList1 table{ display:inline; }
とすれば横並びになりますが。
0454nobodyさん2008/04/05(土) 21:44:15ID:???
<ItemTemplate>
<div style="float: left">
<% Eval("Shuppansha") %>
</div>
</ItemTemplate>
 ↓
<div style="float: left">
集英社
</div>
<div style="float: left">
小学館
</div>
<div style="float: left">
講談社
</div>

みたいに出力される。
0455nobodyさん2008/04/05(土) 22:09:14ID:???
>>448
あとは、それを見込んでクエリを書くか。
WHERE (param = @param OR @param IS NULL)
みたいな。
0456nobodyさん2008/04/05(土) 23:48:02ID:/o0gPsTY
>>455
ありがとうございます。求めてたのはこれです。
04574382008/04/06(日) 17:14:55ID:???
うまくいきました!
まず>>453-454で教えて頂いたようにtableのstyleを「display:inline」とします。
これで解決しました。
また、今回の要件を満たすにはtableのstyleをdisplay=inlineとした上で、
Repeaterコントロールを使う方が良いと思いました。
DataListでもプロパティを設定すれば多少無理矢理な形で可能なのですが、
スマートでない感じがしました。
ありがとうございました。
04584522008/04/06(日) 22:35:04ID:???
客先のブラウザで全画面表示したら貧相な画面になりましたとか気まずいから、
>>438みたいな、横幅可変でなるべく全体使いたいって話が最近良くある。
狭い画面での表示と両立してくれって要求になるとかったるいけどw

20〜24インチぐらいのワイド液晶ある人はyahooやinfoseekとamazon比較してみると良いかも
0459nobodyさん2008/04/07(月) 00:19:01ID:880v00YK
ユーザーコントロール作って、その中のコントロールのボタンに
Click時にクライアントスクリプトを動かしたい場合は、ユーザー
コントロールの貼り付け先にスクリプト書く必要があるのでしょうか?
ユーザーコントロール側にスクリプト書いて、コントロールの
貼り付けだけで動作するようには出来ないのでしょうか?
0460nobodyさん2008/04/07(月) 19:54:47ID:???
簡単なスクリプトなら、動的にクライアントスクリプトを追加するように、ユーザーコントロールに書くとか
0461nobodyさん2008/04/07(月) 23:28:59ID:HZpb0WP/
TextBoxとボタンを2セット配置しまして
TextBox1の上でEnterキーが押された時はボタン1の処理、
TextBox2の上でEnterキーが押された時はボタン2の処理、と
処理を分ける場合はどうすればよいでしょうか?
今のところどちらでEnterキーを押してもボタン1の処理が実行されてしまいます。
0462nobodyさん2008/04/08(火) 00:18:51ID:O6FEAP9E
FormViewでメーカーCDを連結しているLabelがありまして、
実際にはここにメーカー名を表示したいのですが、良い方法ないですか?
とりあえず今はPage_Loadイベントで現在のメーカーCDをVisible=falseのメーカーCDと連結した
LabelからとってきてSqlCommandでExecuteReaderして別テーブルからメーカーCDをキーとしてメーカー名を取って非連結のLabelに表示しています。
動作に支障はないのですが、メーカーCDを取得するためだけにフォーム上に
Labelを1つ無駄に配置するというのがなんだかもったいないです。
いちいちメーカーCDのラベルを経由せず、直接現在のメーカーCDを取得するような方法ありませんか?
0463nobodyさん2008/04/08(火) 20:00:15ID:???
>>461
テキストボックス内でEnter押してSubmitを発生させた場合、
最初のSubmitボタンが押されたものとブラウザが判断するので・・・

1:formのイベントでキーをとっ捕まえてEnterキーかどうか判断
2:window.event.srcElementあたりでそれを発生させたオブジェクトを取得
3:後は煮るなり焼くなり
4:クロスブラウザに注意
0464nobodyさん2008/04/08(火) 20:38:52ID:???
>>462
どこのSIerだか偽装請負だかの新人か知らんが、
暗号解読能力が必要な質問すんな。

とりあえずMSDN読んどけ。
http://msdn2.microsoft.com/ja-jp/library/ms228214(VS.80).aspx
何遍読んでも自分でサンプル書いてもわからなければ、また相談に来い。
そのときはもっとマシな質問が出来るだろ。

ヒント:FormViewのリファレンス…特にプロパティ
0465nobodyさん2008/04/08(火) 23:10:14ID:???
AJAXControlToolkitで質問です。コントロール郡をツールバーから貼り付けるまでは
出来るのですが、TargetControlIDの欄が真っ黒になって、設定できません。
しかもこの欄をクリックすると、VSが落ちてしまいます。
このような現象に会われた方いらっしゃいますか?
参照の解除、再設定やらツールバーのリセットしても改善しません。
04664622008/04/09(水) 02:59:47ID:???
>>464
おかげさまで無事取得できました。
CType(Me.FormView1.DataItem, Data.DataRowView)("取得対象フィールド名")
04674642008/04/09(水) 22:56:48ID:???
>>466
この場合、aspxファイル内でFormView.DataKeyNamesにメーカーCDのフィールド名をセットして
FormView.DataKey.Value(キーが複数ある場合はValues)でキーの内容を取得する方が多分スマートかな。
わざわざコードビハインド側でセットする必要もないしね。

↓のような感じ
<asp:Label ID='MakerCDLabel' runat='server' Text='<%= this.FormView1.DataKey.Value %>' />
04684622008/04/10(木) 01:50:33ID:???
>>464
DataKeyNamesプロパティを利用して
キーから対応する名前を取得するには
通常DataKeyNamesに主キーの列名を指定する必要がありますよね?
今回取得したいのは主キーでないので無理そうです。
ありがとうございます。
0469nobodyさん2008/04/10(木) 16:28:59ID:???
>>461
Panel使えば簡単にできる
そういうプロパティがある
04704612008/04/11(金) 03:22:57ID:???
>>469
検証してきましたらうまくいきました!
こういうのが欲しかったです。
ありがとうございました。
0471眠れない2008/04/15(火) 21:15:36ID:???
aspで携帯サイト開発するとき、改頁の機能はどうすれば、携帯画面に出ることができるのでしょうか。知っている方はいらっしゃいましたら、教えていただけないでしょうか。
0472nobodyさん2008/04/16(水) 19:22:41ID:???
日本語でおk
0473nobodyさん2008/04/24(木) 12:44:27ID:???
GridViewでヘッダーとか設定した後、手動でDataBindするとレイアウトが解除されて
ノーマルな状態でBindされてしまいますが、回避する方法ありますか?
■ このスレッドは過去ログ倉庫に格納されています