【質問】ASP.NETスレ Part6【雑談】at PHP
【質問】ASP.NETスレ Part6【雑談】 - 暇つぶし2ch802:nobodyさん
10/02/11 18:16:27
>>801
AJAX君はAJAXの事以外は何も分からないので回答出来ません。

803:nobodyさん
10/02/11 18:37:11
↑とAJAX君が申しておりますw

804:nobodyさん
10/02/12 17:29:01
年月を指定して、カレンダーを表示したいんだけど、
こんなカレンダーを作るにはどうしたらいいのでしょうか・・・

┌─┬─┬─┬─┬─┬─┬─┐
│日│月│火│水│木│金│土│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│ .1│ .2│ .3│ .4│ .5│ .6│ .7│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│ .8│ .9│10│11│12│13│14│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│15│16│17│18│19│20│21│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│22│23│24│25│26│27│28│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│29│30│31│  │  │  │  │
│□│□│□│  │  │  │  │
└─┴─┴─┴─┴─┴─┴─┘
※□はチェックボックスです。

実装したい機能としては
・年月を指定するテキストボックスを設け、ボタンを押したら指定した年月のカレンダーが表示される
・曜日の項目にあるチェックボックスをON/OFFすることで、同じ曜日のチェックボックスを一括でON/OFFできる

asp.netに標準であるカレンダーでも実現可能でしょうか。
不可能な場合、どのようにすれば実現できるでしょうか。


805:nobodyさん
10/02/12 21:40:06
>>804
このへん使って似たようなの普通に作れたような気がする

URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)

806:nobodyさん
10/02/12 23:53:19
曜日のとこアクセスするにはどーすれば

807:nobodyさん
10/02/13 00:34:26
AJAX君はAJAXの事以外は何も分からないので回答出来ません

808:nobodyさん
10/02/13 01:56:32
じゃ、お前がレスしろよw
お前の失点は、他人のレスを論ったこところで挽回できるもんじゃないんだぞ?
負けて口惜しかったなら、まともなレスをして見返すぐらいしろよ。
いい加減目を覚ませよ。

809:nobodyさん
10/02/13 06:49:05
>>804-806
DayRenderではイベントを発生させるコントロールは追加できないらしい
ためしにCheckBox追加してみたが、表示はされるがイベントがハンドリングされねえ
クライアントスクリプト仕込むとかでなんとかする方法もないではないだろうけど
どっちにしろ曜日のヘッダー部ではDayRenderは発生しないようだ

ということで、俺なら自分でカレンダーすべてレンダリングするコントロールを自作するかな

810:nobodyさん
10/02/13 18:48:32
ていうかAJAX使えば悩むところなんて全く無いだろ。
また例によってAJAX使用禁止とか訳分からん縛りでもあるのか?質問者は
何が聞きたいんだ?

811:nobodyさん
10/02/13 18:57:21
この4文字NG指定しましょうね。

812:nobodyさん
10/02/13 20:52:55
>>811
ソース教えて君マジウザイ

813:nobodyさん
10/02/13 22:56:57
それもNGに

814:nobodyさん
10/02/14 01:16:41
AJAX禁止したら、その技術に関して何も言えなくなるじゃんね
つーかソース教えろ厨マジうぜー

815:nobodyさん
10/02/14 01:48:51
それもNGに

816:nobodyさん
10/02/14 11:50:09
ソース教えて君がレスをみれなくなるだけだから問題ナッシング
つか自分からNG設定するぐらいなら、はじめからスレにこなければいいのに

817:nobodyさん
10/02/14 15:40:48
それもNGに

818:nobodyさん
10/02/14 15:52:53
↑ばかの一つ覚えのソース教えて君

819:nobodyさん
10/02/14 23:40:57
ソース教えて君

820:804
10/02/15 09:22:24
>>809
やはり普通のカレンダーコントロールでは難しそうですね・・・。
自作コントローラを作る場合、どのようにすればいいのでしょうか。
まだasp.netに触れて日が浅いもので・・・。

>>810
AJAXもいまいち理解できていないので、ピンときてません。
AJAXを使えば実装できるのでしょうか。

821:nobodyさん
10/02/15 12:50:57
>>820
このスレには「回答にはすべてソースを付記しないと回答したことにならない厨」(通称ソース教えろ厨)という馬鹿がいて、
そいつがAJAXという技術を知らなくて馬鹿にされたので、
AJAX使えば何でもできるという印象操作をしているだけなので無視してください。
ソース教えろ厨が、ご迷惑をおかけしておりますが、よろしくお願いいたします。

822:nobodyさん
10/02/15 13:30:32
perlとASP.NETの同居について教えてください。

IIS6.0でASP.NET2.0用のWebアプリを提供しています。
その中でglobal.asaxを使用してフォーム認証を併用した独自の認証とログ採取を行っています。
ここにperl製のパッケージを同居させることになりました(お客様の御意向なのでパッケージの内容は詳しくありません)。
Active Perlで動作するようなのですが、global.asaxとどうすれば同居できるのか分かりません。

例えば、拡張子plにperl.exeを設定するとaspnet_isapi.dllで呼ばれるglobal.asaxが動かないため、直接アクセスできる上にログも取られません。
拡張子に複数のアプリケーションを構成することもできないため、perlの実行とglobal.asaxの実行を両方ともおこなう方法が想像つきません。
最終的には下記の流れを実現したいです。
 1.クライアントからperlページのHTTPリクエストを受ける
 2.perl.exeでperlページを処理する
 3.aspnet_isapi.dllでglobal.asaxを処理する(認証とログを処理)
 4.HTTPレスポンスを返す

どのように設定するかどなたかお分かりになりますか。

823:822
10/02/15 13:32:58
すみません、まだperl製のパッケージは入手しておりません。
また、流れの2と3は逆でも構いません。

824:nobodyさん
10/02/15 16:13:12
それたぶん無理じゃないのかな
aspxでperlのほうにリダイレクトして、
perl側でリダイレクトじゃなければエラー吐くみたいな
処理ならできるのかもしれないけど

825:nobodyさん
10/02/15 18:12:02
ASP.NETでフォーム認証は解説サイトもあり簡単にできたのですが
ASPでフォーム認証するにはどうすればいいでしょうか?
参考になるサイトがありましたら教えてください。

826:nobodyさん
10/02/15 21:37:31
質問です、Ajax Control ToolkitのTabContainerコントロールに配置した
テキストボックスに(ロード時やタブの切り替え時に)
フォーカスをセットする方法をおしてください。

通常のPanel上に配置されたテキストボックスには
フォーカスがセットされるのですがTabContainerコントロールに配置した
テキストボックスにフォーカスをあてる事ができずに困っています、
どうか良いご回答をおねがいしますm(__)m

827:nobodyさん
10/02/15 22:00:35
>>825
ASP.NET的なフォーム認証の仕組みは無い
ASPでやるならCookieとSessionとglobal.asa使って自力で同じようなもんを実装するくらいか

828:nobodyさん
10/02/16 08:39:12
>>827
了解です。自力で作成することにします。

829:sage
10/02/16 10:07:20
>>821
AJAXクン、いつも絶好調ですねw

830:nobodyさん
10/02/16 10:10:43
>>804
jQuery使えば簡単だよ

831:nobodyさん
10/02/16 11:49:48
>>829
>>830
お前はもうこなくていいから


832:nobodyさん
10/02/16 12:40:45
そーす君しつこすぎ

833:nobodyさん
10/02/16 13:48:49
showModalDialog()で開いたページでDB登録処理を行い、
正常に終了した場合、このダイアログを閉じたいんだけど
window.close()をどのようにして指定すればいいんでしょう。

834:nobodyさん
10/02/16 20:15:09
>>822
パールの呼び出しはCGI経由なのか?
CGI全部自分で処理するカスタムHTTPハンドラつくって、その中でパール呼び出せばできるような気がする

できるかどうか詳しく検証してないからできないかもしれない

--ここから余談
できても俺ならやりたくない。つかやらない
認証を共通でやりたいなら、パッケージ側に認証の連動機能を要求する
パッケージのログはパッケージの機能で採取してもらう
外部のパッケージ使うならそういう割り切りが必要だと思う

835:nobodyさん
10/02/16 20:33:49
>>834
AJAX君は、無理してレスしないでよろしい

836:834
10/02/16 22:12:28
AJAX君なら
ASP.NET使って普通にやればできるよ
って回答だろう
あれと一緒にされるのは非常に心外だな

837:nobodyさん
10/02/16 23:38:27
>ASP.NET使って普通にやればできるよ
お前のセリフじゃないか
できるのならソースを示せ


838:nobodyさん
10/02/17 02:12:38
>>837
ソース君マジでうぜぇ

839:nobodyさん
10/02/17 10:35:42
AJAX君は今日も絶好調

840:nobodyさん
10/02/18 18:07:25
GridViewについて、質問があります。
DropDownListの値を使用して、GridViewの表示を変えるシステムを作っているのですが。
DropDownListに全件表示の選択を加えたいと、考えています。
この場合、DropDownListの全件表示プロパティのvalueには、なんと書いたら良いのでしょうか?

841:nobodyさん
10/02/18 18:16:51
表示を変えるってのは、1ページの表示件数かな?
としても、GridViewのデータをどうやって作ってるかによるので答えようがないです。
10とか20とかで動いてるなら全件数でもいれとけば。

842:840
10/02/18 18:49:24
すみません、言葉足らずでした。
DropDownListでDBの検索条件を指定して検索、結果をGridViewで表示するシステムです。
DropDownListの中身はDBから引っ張ってくるため、力技だと不都合が出てしまいます。

DBの内容としては、下記のようなものを使用しています。
id / 名前 / 性別 / 血液型 / 出身地

性別、出身地の2つを選んでもらい、検索結果を表示します。

843:nobodyさん
10/02/18 22:00:17
nullの値の条件なしみたいなドロップダウンの項目を追加して
sqlの条件の所  (syussin = @syussin) みたいな所を
( @syussin IS NULL OR syussin = @syussin )  とやったことあったな。

844:nobodyさん
10/02/18 22:59:09
性別も出身地もnot nullだろうから
where 性別 = isnull(@sex,性別) and 出身地 = isnull(@home,出身地) でいい。

全件検索は@sex = null、@home = nullでとれる


845:840
10/02/19 10:54:36
>>841 >>842
お二方のアドバイスを参考に、SQLを改変してみましたが、該当データなしとなります。

SELECT ID, name, sex, blood, hometown FROM Table1 WHERE (@sex IS NULL OR sex = @sex)
と入れても、
SELECT ID, name, sex, blood, hometown FROM Table1 WHERE (@sex = NULL) OR (sex = @sex)
と改変されてしまいます。
そして、sex = nullとして検索すると、該当データなしとなります。
また、
where sex = isnull(@sex,sex)
でも同じ結果でした。

必須という訳でもないので、私にはできないという方向で、検討していこうかと思います。
アドバイスありがとうございました。

846:840
10/02/19 10:56:28
アンカミスってたorz
>>843 >>844
です。

847:nobodyさん
10/02/19 23:45:42
なんでそんなんになるのかは分からないけど、
なら、nullあきらめて、ありえない値にしとけば
@sex = 'both' にしとくとか

848:nobodyさん
10/02/20 02:13:33
SQLの問題じゃないだろ。基本的な処理の流れがわかってない
まず、ドロップダウンに設定する値はなんでもいい。俺なら空文字列設定する
そして、検索するときにその値をチェックする
動的にSQL作ってるなら検索条件変えるだけだし、>>843,844が言うようなSQLを設定してるなら
パラメータにNULLをセットする

DBでいうところのNULLってのは"NULL"って文字列じゃないぞ

849:nobodyさん
10/02/20 05:49:04
パラメータに(C#の)nullって渡せるんだっけ?DBNullじゃなくて
最近LINQばかりでよく覚えてないや

850:nobodyさん
10/02/20 12:55:41
DBで言うところのNULLはC#でいうところのnullではない
DBで言うところのNULLを表すためにDBNullクラスがある

パラメータにNULLをセットするってのは、DBで言うところのNULLをセットしろってことだろ
C#のnullをセットするってことは値をセットしないこととほぼ同義だぜ

851:nobodyさん
10/02/20 17:42:04
ウィザード使わないで、自分で動的にSQLを作ればいいんでない?
GridViewとDropDownListを連動させて検索するとか
型どおりの動作は簡単にできるけど、ちょっと細かく挙動を変化させたりとかできないし。

自分ならDropDownListに各種項目(valueは各種項目のデータのid)と「全件表示」項目(valueは0)を表示させるユーザコントロールを作るな。
で、DataSetで全件のデータを取得して、Selectメソッド(またはLinq)でデータを抽出してGridViewにデータバインドさせるか、
DropDownListの選択具合によってASP.NET側で動的にSQLを生成してクエリを発行するか、
SQLのテーブル値関数でクエリを生成してデータを返す。

852:nobodyさん
10/02/20 20:27:20
頭の悪い回答ですね(クスッ

853:nobodyさん
10/02/20 20:43:38
どこが頭の悪い回答なの?ソース君

854:nobodyさん
10/02/20 22:42:45
>>853
AJAX君にしてはキレの悪い突っ込みですねw

855:nobodyさん
10/02/20 22:58:34
んで、どこが頭の悪い回答なの?
ソースプリーズ

856:nobodyさん
10/02/20 23:07:08
852 名前: nobodyさん [sage] 投稿日: 2010/02/20(土) 20:27:20 ID:???
頭の悪い回答ですね(クスッ

854 名前: nobodyさん [sage] 投稿日: 2010/02/20(土) 22:42:45 ID:???
AJAX君にしてはキレの悪い突っ込みですねw

やっぱり意味ないレスで人を煽るのは、ソースくれ厨か

857:nobodyさん
10/02/21 00:17:19
>>840
ManagementStudioで
SELECT ID, name, sex, blood, hometown FROM Table1 Where sex = sex AND hometown = hometown
を実行してみてよ。
手打ちするのではなく、上のSQLをコピペして実行してね。

858:nobodyさん
10/02/21 00:47:36
文字ならシングルクォーテーションで括ろうぜ AJAX君

859:nobodyさん
10/02/21 04:00:45
ん?where 1 = 1と同じ意味だから全件拾えるって話だろ。
まぁ確かに>>845に対するレスってのが一瞬掴めなくて、
いきなり何言ってるんだとは思ったが。

860:nobodyさん
10/02/21 14:32:13
>>858
>>857のSQLに文字なんてないよw


861:nobodyさん
10/02/21 22:14:43
ソース教えて君大失態の巻

862:nobodyさん
10/02/21 23:29:31
これは意外。
AJAXクンはSQLServer触った事ないのか。

863:nobodyさん
10/02/22 00:09:53
>>862
858 名前: nobodyさん [sage] 投稿日: 2010/02/21(日) 00:47:36 ID:???
文字ならシングルクォーテーションで括ろうぜ AJAX君

864:nobodyさん
10/02/22 00:24:50
>>857
たぶん、こういうのやりたいんでしょ
URLリンク(jsajax.com)

それをコーディングレスでやりたいから、データソースの構成ウィザードで設定する、
SELECTステートメントのクエリの書き方が知りたいということだと思う。
だから、クエリそのものの使い方や回答をしても意味がないと思うよ。

865:nobodyさん
10/02/22 02:03:04
>>862
もう恥の上塗りはやめよう

866:nobodyさん
10/02/22 08:13:02
いまだにNG指定してない人がいるとか・・・

867:840
10/02/22 11:43:20
あれから、いろいろといじってみていたところ
>>843のやりかたで、無事できました。
開始オプションで、最初に作った他のものを開いていたようです
あああああああ死にたいorz

868:nobodyさん
10/02/22 12:57:31
ソースくん涙目

869:nobodyさん
10/02/22 15:19:18
>>868
しつこい

870:nobodyさん
10/02/23 09:54:21
>>869
>>866

871:nobodyさん
10/02/23 10:07:13
>>869
しつこいぞAJAXくん

872:nobodyさん
10/02/25 11:34:40
AJAXクンは多分社会人じゃないと思うけど、社会に出てから苦労しそうな予感。

873:nobodyさん
10/02/26 22:53:35
レガシーASPっていつまでサポートされるんだろう

874:nobodyさん
10/02/26 23:58:18
ビルドが遅いのはなんとかして欲しいな。
Java(Eclipse)と比べてここは劣っていると言わざるを得ない。

875:nobodyさん
10/02/27 02:49:00
いわざるをえないー

876:nobodyさん
10/02/27 02:58:10
DBからSQLでデータを取得して、TEXTファイルをダウンロードするようにしたいのですが。
取得したデータをループでStreamWriterに書き込んでいって、最後にResponse.Write(sw)みたいなやり方で出来ますか?
このやり方だとファイル名はどうやって指定してあげればいいのかわかりません。
初心者です。

877:nobodyさん
10/02/27 03:01:00
TEXTファイルをダウンロードってところを具体的に。
取得したデータというのはDBのデータのこと?TEXTファイルの文字?
ファイル名はテキストファイルのファイル名?

こんなんで分かると思うのかー超能力者じゃないんだぞー

878:nobodyさん
10/02/27 03:11:07
>>876
クライアント側に決めさせればいいだろ

879:nobodyさん
10/02/27 03:14:10
876です。
>>877
最終的に作りたいのがTEXTファイルです。
DBのデータをSQLでselectしてきて、それをTEXTファイルに吐きだしたいんです。
その時にファイル名を指定して吐きだすことになると思うんですが。

とあるサイトでは
Response.AddHeader("Content-Disposition","attachment;filename=ファイル名");
のようにファイル名を指定していたのですが、別のサイトでは
StreamWriter sw = new StreamWriter(ファイル名, false, enc);
のようになっており、StreamWriterとResponse.Writeは一緒に使えないのかなと思いました。

複数行のレコードを書き込むにはStreamWriterが便利だと思ったんですが。

880:nobodyさん
10/02/27 03:16:58
サーバーにテキストファイル一旦作るのかどうかってとこか。

881:876
10/02/27 03:17:46
ちなみに、ダイアログ(開く、保存、キャンセルがあるやつ)からダウンロードするようにしたいです。

882:nobodyさん
10/02/27 03:27:18
頭の悪い回答ですね

883:nobodyさん
10/02/27 03:39:15
>>879
一つ目のファイル名は、ローカルに保存されるファイルのファイル名を指定するものだけど、
2つめのファイル名は、サーバーにテキストファイルを作るときのファイル名。
とあるサイトでの使われた方知らないから分からないけど、いったん作ったファイルから
Response.Writeに書き出すこともできる

884:nobodyさん
10/02/27 03:54:21
>>882
同意せざるを得ない。やっぱこのスレ、レベル低すぎ。

>>879

Response.AddHeader("Content-Disposition","attachment;filename=ファイル名");

この方法でよい。

885:nobodyさん
10/02/27 04:48:16
>>884
いや、主にお前のこと

886:nobodyさん
10/02/27 08:46:00
URLリンク(www.ailight.jp)

887:876
10/02/27 15:38:59
>>886
ここの方法だと、string変数に改行コードを入れつつループさせてファイルを作成していますね。
これを真似してみたらうまくいきました。
StreamWriterを使う方がちょっと面倒なのかな。

ちなみにサンプルでは、Response.BinaryWrite(encoding.GetBytes(tempString))のようにstringの文字列をbyteのように扱っていたのですが、Response.Write(tempString)ではだめなんでしょうか。



888:nobodyさん
10/02/27 16:43:48
それはサンプルがアホなだけ。エンコーディング指定して、Response.Writeが正解

889:nobodyさん
10/02/28 00:29:00
>>887
Response.Writeでだめな理由はそのページにも書いてあるだろ
Response.Writeだとページのエンコーディング指定の影響を受ける

特定の文字コードでダウンロードさせたいなら、>>888がいうように
Response.CharsetなりResponse.ContentEncodingなりを指定して
Response.Writeするのが正解(ただしテキストに限る)

890:876
10/02/28 01:11:31
>>888-889
Response.Writeでも出来ました。
ありがとうございました。

891:nobodyさん
10/03/01 08:34:18
VisualStudio2008standardなんですが
ASP.netのプロジェクトにはWebアプリとWebサイトがあると
聞いたんですがWebアプリしかありませんでした。
Webサイトプロジェクトを作成するにはどうしたらいいでしょうか?

892:nobodyさん
10/03/01 09:27:33
ファイルメニューにありますた^^

893:nobodyさん
10/03/03 10:29:09
>>822
似たような案件でうちで外部会社のperlアプリを突っ込まざるを得ない時は暫定的にこうした

1.perlアプリはASP.NETアプリの下階層のディレクトリに放り込む
2.ディレクトリをWebアプリ化してそこのワイルドカードアプリケーションマップににaspnet_isapi.dllを設定

検証した限りではフォーム認証かけつつperlを動かすことができた
その後perl側で対応してもらったから今はやってない
この場合はフォーム認証だけだったけど、ここ用のglobal.asaxを突っ込めばログも対応できるかも

正しいやり方か見当つかないんだけど、この方法って合ってるんかな

894:nobodyさん
10/03/05 14:35:25
ASP.NETで複数のUpdatePanelを使ってるんですが、
pnl1.Update()イベント中に
pnl1.Visible = false;

pnl2.Visible = true;
をしても表示が変更されません。

どのタイミングでどうすれば非表示に出来るのでしょうか
どなたかお願いします。

895:nobodyさん
10/03/05 16:17:30
>894
MSDNを見る限り、UpdatePanelにUpdateイベントなんてないぞ
URLリンク(msdn.microsoft.com)
Updateメソッドならあるが...
Visble=falseってどこにどう書いてるんだ?もうちょっとコード晒せよ

896:nobodyさん
10/03/05 17:34:15
>895
情報足りなくてすみません。

pnl1,pnl2における、
三つのイベント(Init、Load、PreRender)内で
pnl1.Visible = false; や pnl2.Visible = true;
などを記述してみたのですが、
いずれにおいても、初回読み込み時には表示変更が反映されるものの

pnl1.Update();
実行時には、表示変更が反映されず、
初回に非表示になってしまったパネルは、非表示のままです。
Update()発行時に、表示/非表示を切り替えるには、
どうしたらいいのかをご教示ください。

897:nobodyさん
10/03/05 17:50:00
どうしたらいいもなにも、プロパティを設定するだけで普通に動くけど。

898:nobodyさん
10/03/05 20:13:03
UpdatePanelの外側を変更したいという阿呆なこと考えているように見えるんだけど違うよな?

899:nobodyさん
10/03/06 13:03:47 w7XPkCV9
ここに誘導されてきました。
ASP.NET3.5 + VS2008 (VB.NET)です。

ListViewで作成した列タイトルを動的に設定したいのですが
どのようにしたらよいでしょうか?
WebFormの定義は下記のとおりです。(レイアウトの部分を抜粋)

<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<table ID="itemPlaceholderContainer" runat="server" border="1">
<tr id="Tr2" runat="server"><th id="Th1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</th></tr>
<tr ID="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>

ListView1の中のLabel1に列タイトルをセットすることで動的に変更しようとしています。
プログラムの部分は下記のとおりです。

Dim lblth1 As Label = CType(ListView1.FindControl("Label1"), Label)
lblth1.Text = "項目1"

これを実行すると、"項目1"を代入するところでエラーになります。

「オブジェクトインスタンスの作成にはnewキーワードを使用します」

どのように記述したらよいのでしょうか?
この方法でなくても、ListViewで列タイトルが動的に変更できればOKです。

900:nobodyさん
10/03/06 15:27:42
AJAX使えば普通に変更出来るじゃん。特に悩むところは無いよ。

901:nobodyさん
10/03/06 16:36:01
>>899
何のイベントで設定してるんだ?
まさかPage_Loadじゃないだろうな。
ListViewのDataBoundなりでやれば動くぞ。

902:nobodyさん
10/03/06 16:49:34
>>899
まず、エラーメッセージを正確にかけ。おそらく、
オブジェクト参照がオブジェクト インスタンスに設定されていません
のはずだ
データソースが指定されていないから、テンプレートに指定した内容が
実際にまだ作成されていないからエラーになってる

ちゃんとしたDataSourceIDを指定するなり、DataSource指定してDataBindしてから
やればちゃんと動くはず

>>901
そもそもDataBound発生してないと思うぞ
ちなみに俺が試した範囲ではデータソースをちゃんとすれば
Page_Loadでも動いた

903:nobodyさん
10/03/06 17:28:43 w7XPkCV9
>>902
Page_Loadに記載しています。

エラーメッセージは、最初に記載したエラーの上にご指摘の
「オブジェクト参照がオブジェクト インスタンスに設定されていません 」が
表示されていました。

Dim lblth1 As Label = CType(ListView1.FindControl("Label1"), Label)
lblth1.Text = "項目1"

上記を ListView1.DataBind() の下に配置したところ、正常に動作しました。
ありがとうございました。

ちなみに、この方法の他に LayoutTemplate をオーバーライドする方法も
あるようですが、どちらの方法が望ましいでしょうか?



904:nobodyさん
10/03/06 17:39:39
>>901

Listviewは、GridViewのように「列の編集」が
表示されませんが、どのように定義したら
よいのでしょうか?

また、Webフォームのソース画面で、
GridViewと同じように

<asp:ListView ID="ListView1" runat="server">
<Columns>
<asp:BoundField HeaderText="項目1” />
</Columns>
</asp:ListView>

と記述してみましたが、記述した時点で警告がでました。

「検証 (XHTML 1.0 Transitional): 要素 'columns' はサポートされていません。」
「要素 'BoundField' は不明な要素です。」

これを無視して実行するとエラーが発生しました。

「パーサー エラー メッセージ: 型 'System.Web.UI.WebControls.ListView' には 'Columns' というパブリック プロパティは含まれていません。」



905:nobodyさん
10/03/07 07:50:05
全部ここで聞くつもりか

906:nobodyさん
10/03/07 12:34:05

asp.netのマスタページ機能の質問です。
ContentPlaceHolderは、ToolboxのStarndard区分から選択することでコードを挿入できるのですが、
ContentPlaceHolderの中身を記述する以下のような「Content」コードをGUI操作で
挿入する方法がわかりません。
仕方なく、コピペでコードを入れているのですが、GUI操作でお手軽に挿入する
方法はありますか?

<asp:Content ID="Content1" ContentPlaceHolderID="aaaaa" runat="server">
</asp:Content>

環境はVisual Studio 2010 Ultimate RCですが、VS2008でもやり方がわかりませんでした。



907:nobodyさん
10/03/07 15:34:46
>>904
ListViewで何が出来るか、何をするものか勘違いしてる。
ListViewでは、何でも出来るけど、そのかわり自分で全部やらなきゃいけない。

908:899
10/03/07 16:52:11
>>907
元々、>>899のようなことがしたくてListviewでBoundFieldみたいなもの
ないかなと思って本やネットで探していたのですが、どうもListviewには
BoudnFiledは無さそうでした。

ところが、>>901さんが「ListViewのDataBoundなりでやれば動くぞ」と
言われたので尋ねた次第です。


909:901
10/03/07 17:34:54
>>908
何を言っているのか意味が分からん。

>>899で示されたエラーから推測できるのは、ListView1.FindControl("Label1")がnullってことだった。
で、原因は>>902が言うようにDataBoundイベントが発生していない
(=まだLabel1が作成されていない)段階で、FindContolしているからだ。

ListViewのDataBoundイベント発生後ならばLabel1は存在する
→したがってFindControlでラベルオブジェクトが取得できる
→したがってラベルオブジェクトのTextプロパティを動的に設定可能ということだ。
(もちろんDataSourceがnullでない場合に限る)

誰もGridViewと同様にBoundFieldが設定可能などと言っていない。

910:899
10/03/07 18:43:48
>>909
イベントのことだったのですね。
ありがとうございました。


911:nobodyさん
10/03/08 10:00:40
やっぱり、おまいらは、客に納品するシステムを
visual web developer express 2008 作ったりするの???

912:nobodyさん
10/03/08 11:03:26
>>911
短期の助っ人(契約とか派遣)や、コードを色つきで見れれば良い程度のテスト要員には使ってもらうことある
でも、短期でも主要な部分をやってもらう人や、テスト要員でも開発部員なら相応のEditionを渡す(開発部員は自分でライセンス持ってる場合多いけど)
ケースバイケースだけど、常時10ライセンスくらいは余らしてるからExpressを使わないパターンの方が多いな

913:nobodyさん
10/03/08 14:18:32
expressでも作ってしまえば同じだろ。
お客にソース渡してお客がメンテするのならライセンスはお客側の話だ。

914:nobodyさん
10/03/08 15:40:12
>>913
質問の意図から論点ズレまくってるよ
確かに作ってしまえば同じだけど、開発ツールの選択は作る過程に影響する話でしょ
お客さんがどうこうって話は元質問に全く無い要素だと思うけどなんで話広げてるの?

915:nobodyさん
10/03/08 18:31:13
>>914
質問に、「客に納品する」って前提条件があるのに
元質問に全くない要素ってか

つか、>911の質問内容でその意図を正確に読み取るとは
ここはエスパーの多いスレですね

916:nobodyさん
10/03/08 18:42:17
Expressだと、何か問題があったときにマイクロソフトに問合わせして対応してもらえるんだっけ?
自分の経験した会社だと、ほとんど開発ソフトは、開発案件ごとに見積もりに価格に乗せて、
購入するようにしてるからExpressで開発することはないな

917:nobodyさん
10/03/08 18:58:08
うちもないな。というか、Express使うという発想がない。

918:nobodyさん
10/03/08 19:19:26
MSに問合わせて解決したことが無い俺

919:nobodyさん
10/03/08 19:35:52
別に解決しなくてもいいんだよ
OSや.NETに起因するバグや仕様で、自分たちにはどうにもできない、
問合わせてもMSは何もしてくれないという客先への証明になれば

920:nobodyさん
10/03/08 20:38:31
この問題はMSに問い合わせたけど解決しませんでした。

で通用するとか、ヌル過ぎる客がうらやましいでつね(クスッ

921:nobodyさん
10/03/08 20:46:24
マジレスで申し訳ないんだけど、通用しない場合はどうなるの?
まさか開発側の問題ってことにはしないよね?
もしかして運用回避等のその他代替案の提示位しろよ、みたいな当たり前の話?

922:nobodyさん
10/03/08 20:52:10
>>921
>>920は、ここに居着いたあらしだから無視が一番
AJAXも使ったことないで脳内回答してたぐらいだし、実際の現場で働いたことがないんだろう

923:nobodyさん
10/03/08 21:27:05
久しぶりに、このAAにぴったりな発言を見た

       / \  /\ キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \   <この問題はMSに問い合わせたけど解決しませんでした。
    |      |r┬-|    |        で通用するとか、ヌル過ぎる客がうらやましいでつね
     \     `ー’´   /
           ___
       /      \
      /ノ  \   u. \ !?
    / (●)  (●)    \ 
    |   (__人__)    u.   | 代替案や運用で回避してもらって機能は実現するに決まってるじゃん>
     \ u.` ⌒´      /   何もしないわけないじゃん クスクス>
    ノ           \
  /´               ヽ
         ____
       /       \!??
      /  u   ノ  \   <言うまでもないこと言われてもね
    /      u (●)  \ <話の内容のレベルが違うんじゃない? クスクス
    |         (__人__)|
     \    u   .` ⌒/
    ノ           \
  /´               ヽ

924:nobodyさん
10/03/08 21:28:46
>>921
そもそも通用するわけがない
客との契約はサービスやアプリケーションを提供すること
開発環境の都合なんて客は知ったことじゃないし、理解することもできないし、理解して「そうかそうか、仕方ないな」なんて言ってくれない
客が見るのは結果だけなわけで、検収取れなきゃ金出してくれないわけで
※他の開発会社の下請け作業や、稀にいる開発環境指定の客の場合はこの限りではない

だいたいにして、MSの開発環境でそれを構築すると判断してそれがMSの原因で達成できないとしたら、MSを選択したうちらの瑕疵もある程度はある
それを何らかの方法で回避するための根本原因の説明としてMSの回答を持ち出すことはあっても、その尻拭いは開発側の仕事
たとえば、運用回避策を検討して提示するとか代替手段を開発するとかして延命し、MSの回避策が出てから対応完了するイメージ

普通そういうリスクは織り込んで契約するもんだと思うんだけどな
うちの場合、契約には開発環境を提供する会社の瑕疵によって発生した場合は、お互いの協力(客は期間延長、こっちは開発費用持出)で解決しようって一文は入れて、交渉の担保にはしてるけどね
とは言ってもデッドラインはあるわけで、そのためにデスマーチになることも過去にはあったなw

925:924
10/03/08 21:29:40
orz

>>923のAAで俺の駄文が完全に表現されてた...

926:nobodyさん
10/03/08 21:52:27
>>924
そうそう。
顧客が求める機能を最大限、できる範囲で実現しようとして作業するのは当たり前。
その前提で考えると>>920は、マジで実際に働いたことがないんじゃないかと思う。
もしくは、ただこのスレに居着いて他人に喧嘩を売っているだけ。

927:nobodyさん
10/03/08 22:38:43
客に徹夜したけどできませんでしたと言うのに似てるな

928:nobodyさん
10/03/08 23:56:11
全然違うw

929:nobodyさん
10/03/09 00:24:45
徹夜してできない→技術力の無い証明
MSの返答でできない→どうやってもできないの証明

こういうと、技術力があるのなら一晩でフレームワークを自作しろとか言うのかもしれないが、
残念ここはASP.NETスレだ

930:nobodyさん
10/03/09 00:33:40
業務開発ってさ、コード組むのが目的じゃないんだよ
仕様を実装するのが目的なんだよ
だから、MSがある方法での実装が不可だと回答したら、別の方法で実装するだけだよ
そのために特定の前提が必要だとか外部ソフトが必要だとかあったら顧客と調整するだけ
こういうのは仕事で開発してないとピンと来ないだろうね

931:nobodyさん
10/03/09 00:34:43
>>916
大手なんだね。そんな金載せられるほど余裕あるんだ。

932:nobodyさん
10/03/09 00:59:32
express使おうが使うまいが動いたもん勝ち

933:nobodyさん
10/03/09 01:18:13
いま、世の中にはいろんな現場があるということへの理解が試されている。

934:nobodyさん
10/03/09 01:52:31
「不可能」となったときの、当然の対応の仕方が仕事をしてないからピンとこないんだろうな
さすが、事故解決能力の無い、ソースくれくれ君だよ

935:nobodyさん
10/03/09 02:03:52
>>932
その通り
手段に引っ張られて目的を達成できないとかありえない
でも「結果が出れば手段なんてなんでもいいんだ」とExpressに固執して生産性下げるのも愚の骨頂
「Expressでなんでもできるからいいだろ」と言うのは時間を金額に換算する必要のない立場の人間だけ

936:nobodyさん
10/03/09 02:18:44
有償サポートが受けられるというのが大きいと思うぞ
SQLServerもそう

何か不具合があったとき、こっちの不具合なのか、
MSの不具合なのか判断してもらえるところが大きい

937:nobodyさん
10/03/09 02:50:44
Express edition(Visual Web Developer)だと、機能制限のせいで
SQL Server上のテーブルデータにコントロールをバインドさせるような
基本的な事もGUI操作でできないよね?
生産性落ちるどころのレベルじゃないと思うんだけど。


938:nobodyさん
10/03/09 03:04:55
リファクタリングとデバッグの制限もある
それにプロジェクトに自作DLLを導入してる場合、その自作DLLを作成するプロジェクトを混在できないから面倒
あと、多くの帳票作成ソフトとかの外部アドオンがExpressだと導入できない

939:nobodyさん
10/03/09 06:55:54
>>937
データバインドできないの?まじで?

940:nobodyさん
10/03/09 07:31:05
>>939
“GUI操作で”出来ない
手書きすればメモ帳でだってできる

941:nobodyさん
10/03/09 09:30:37
自分の所は部内システムで使ってるだけだからexpressだな

それどころか鯖も買ってもらえなくて
自分の業務用PCでとりあえず動かしている状態

942:nobodyさん
10/03/09 09:51:01
普通の開発会社なら個人にVSのライセンス割当たってるもんじゃないの?

943:nobodyさん
10/03/09 12:51:26
今までASPXで動いてたページにAjaxを組み込むことになりました
以前のASPXページはポストバックごとに状態をセッション変数に保存していましたが
Ajaxだと当然ポストバックが発生しません

こんなとき、Ajaxからセッション変数を更新する方法を解説しているページなどありましたら
ご紹介ください。

時間をかけて自分で調べればいいのですが、時間に余裕がありませんのでよろしくお願いします。

944:nobodyさん
10/03/09 13:17:11
Ajaxをどういう方法で組み込むか知らんけど、サーバーリクエスト先でセッション変数参照するだけでしょ
ASP.NET AJAXなら該当イベントで、それ以外ならリクエストされるページで

イベントで動くって基本に立ち戻れば悩むようなことじゃないと思うんだけど
「ポストバックで処理していたのをどうすればいいんだろ」って思考に囚われすぎてないかい?

945:nobodyさん
10/03/09 13:26:48
なるほど!! ASP.NETを使うつもりでしたが、イベントはサーバー側で発生するのに変りはないんですね!

946:nobodyさん
10/03/09 13:42:01
イベントはクライアント側で発生
そこでxmlHttpRequestでサーバを呼ぶ
つーか、サーバを呼ばなきゃただのDHTML

947:nobodyさん
10/03/09 19:12:31
セッション変数は、使わないのが普通ですか?

URLリンク(support.microsoft.com)



948:nobodyさん
10/03/09 20:33:41
リンクと質問は関連してるのか?にしても、古いKB引っ張ってきたな。
セッションは使う。

KBの件はsessionStateをInProc以外にしてれば、
ワーカープロセスが再起動してもセッション情報は失われない。
つか、そんなKB持ち出すまでもなく、
iisはアイドルが20分程続くと勝手にワーカープロセスを再起動する。
この時、sessionStateがInProcだとセッション情報が消失するという楽しい仕様だ。

949:nobodyさん
10/03/09 21:13:14
InProc
ASP.NET3.5 + IIS6 でセッション変数使用中にWeb.configを保存しなおしたら
ほんとうにセッション変数が消えてしまいました・・・

こんな危険なセッションモードが「デフォルト」になっているのは何故ですか?



950:nobodyさん
10/03/09 21:21:56
たぶん、昔のASPのデフォルトがInProcだったから


951:nobodyさん
10/03/09 21:31:21
ワーカープロセスは、CPUやメモリの負荷が高くなっても再起動しますよね。
昔の人はどうやって運用してたんだろう。



952:nobodyさん
10/03/09 22:28:37
InProcなセッションがリサイクルで吹っ飛ぶのは「IISの常識」
IISの動作を見れば分かり切ったことだし、ASP.NET開発の書籍でSessionのとこ見れば必ず注意事項として載ってる

ところが、MSのオフィシャル情報にはこう載ってる罠
URLリンク(msdn.microsoft.com)(VS.80).aspx
> データの永続性 セッション状態変数に配置されたデータは、インターネット インフォメーション サービス (IIS: Internet Information Services) の
> 再起動やワーカー プロセスの再起動があっても失われずに保持されます。
> これは、データが別のプロセス領域に格納されているためです。
> また、セッション状態のデータは、Web ファームや Web ガーデン内のプロセスなど、複数のプロセス間で保持できます。

ステートサーバを使って実現することをさも既定の動作であるかのように書いてる。
セッションについて理解していればこれが宣伝広告的なものだと分かるんだけど、そうじゃないと鵜呑みにしちゃうよね。
こうして騙される人が増えると。

ちなみに昔はセッションなんて使わないのが常識だった。
せいぜい持たせて認証情報くらい。
これなら吹っ飛んでもログインしなおす流れを明示できる。
連続的な情報はCookieやページ内にhiddenで突っ込んだりしたもんだ。
ASP.NETでもContextやViewStateで十分な情報はそれを使った方が良いよ。

953:nobodyさん
10/03/09 23:48:19
>インプロセス モード
>アプリケーションの Web.config ファイルの processModel 要素で
>webGarden 属性に true を設定して Web ガーデン モードを有効にしている場合は、
>InProc セッション状態モードを使用しないでください。
>このモードを使用すると、同じセッションに対する要求がそれぞれ異なるワーカー プロセスによって処理される場合、
>データ消失が発生する可能性があります。

954:nobodyさん
10/03/10 00:37:48
>>953
引用のつもりなら出自を明確に
あと、そのコピペじゃ何を言いたいのか全然分かんない
InProcで消えるパターンが他にもあるよと言いたいだけ?

955:nobodyさん
10/03/10 18:32:27
>>952
それプロファイルプロバイダを利用した場合の長所って書いてあるだろ
本当にここはレベルが低いな

956:nobodyさん
10/03/10 18:39:54
これはバグですか?

1.Visual Studio 2008 SP を起動
2.ファイル - 新しいプロジェクト - ASP.NET Webアプリケーション を選択して[OK]
 .Net Framework 3.5 を設定
3.デザイン画面を表示
4.Panelコントロールを配置
5.panelコントロールの中にTextBoxコントロールを配置
6.TextBoxコントロールのプロパティウィンドウでTextプロパティに何か文字を入力し確定
7.そのままデバッグの開始

デフォルト表示されるはずの文字が表示されないのです。
ちなみにPanelに載せなければ正しく表示します。
3台のPCで試して3台とも再現しました。


957:nobodyさん
10/03/10 19:08:45
>>955
セッション状態とプロファイルプロパティは別物だし>952のリンク先でも
別セクションにわけて解説してある
プロファイルプロパイダは後者のことで、>952は前者のことだぞ

958:nobodyさん
10/03/10 21:04:55
ソース君必死(笑)

959:nobodyさん
10/03/10 22:21:17
>>956
つインシデント

960:nobodyさん
10/03/11 06:36:48
>>959
バグみたいなことに金払うの?


961:nobodyさん
10/03/11 09:02:01
>>960
製品の不具合に起因することはインシデント返還される
暫定的な非公開hotfixと引き換えにすることもできる
バグが確定的なら無料の窓口でも対応してくれる

962:nobodyさん
10/03/11 13:09:39
いきなりSRする必要はない
まずは無料サポートに問い合わせて対応させる
バグならその旨連絡来るし、そうじゃなさそうならSRをすすめられる

963:nobodyさん
10/03/16 13:14:56
○A ○B ○AorB
_______
|        |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
A|B |C
―――
1|12|aaa
2|13|bbb
3|14|ccc
4|15|ddd

GridViewで作成した表に、ラジオボタンで選択した行をテキストボックスに
入力した文字列で検索した結果を、表示したいと考えています。

具体的には、ラジオボタンでAを選択した状態でテキストボックスに1と入れると、GridViewに

A|B |C
―――
1|12|aaa

が表示され、ラジオボタンでAorBを選択した状態でテキストボックスに3と入れると、GridViewに

A|B |C
―――
2|13|bbb
3|14|ccc

と表示したいのですが。
ご意見いただけないでしょうか。

964:nobodyさん
10/03/16 13:40:43
GridView.Rows.Countになるまでグリグリ探してあれば
その行をVisible=Flaseで良いんじゃね?

965:nobodyさん
10/03/16 15:07:09
ラジオボタンとテキストボックスから動的に条件組み立てて、
その条件で元データをフィルタする

俺なら動的にSQL組み立てるが、ポストバック間で元データのデータセットを
保持してるならRowFilter使うのもありかな

966:nobodyさん
10/03/16 15:30:51
GridViewを使わない

967:nobodyさん
10/03/16 15:47:11
どこにDB使ってると書いてあるんだ?w

968:nobodyさん
10/03/16 16:18:41
俺なら動的にSQL組み立てるが
訂正
俺ならDB使って動的にSQL組み立てるが


969:nobodyさん
10/03/16 16:25:51
処理タイミングで結構話が変わる気がする
「テキストボックスに3と入れると」ってのはクライアントサイドで完結して欲しいって意図も感じる
どこかに「絞り込み」ってボタンがあって、普通にポストバックしていいなら結構楽な話だけど、クライアントサイドで完結したいならこめんどう
Ajaxにしてグリッドだけサーバの結果で書き換えるって手もあると思う


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch