[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 07/19 12:13 / Filesize : 322 KB / Number-of Response : 970
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【質問】ASP.NETスレ Part6【雑談】



1 名前:nobodyさん mailto:sage [2009/09/01(火) 20:06:04 ID:???]
ASP.NETとは、マイクロソフトが提供するWeb アプリケーションと XML Web サービスを構築するための
Microsoft .NET Frameworkの一連のテクノロジの一つです。
技術の移り変わりの早い分野ですので、みんなで質問、相談しつつ、より理解を深めていきましょう。

●ASP.NET関連サイト
マイクロソフトASP.NETデベロッパーセンター
msdn.microsoft.com/ja-jp/asp.net/default.aspx
ASP.NETオフィシャル(英語)
www.asp.net/
VisualStudioホームページ
www.microsoft.com/japan/msdn/vstudio/
SQLServerホーム
www.microsoft.com/japan/sqlserver/2005/default.mspx
IISオフィシャル(英語)
www.iis.net/
ASP.NETにAJAX技術を取り入れるASP>NET AJAX(英語)
www.asp.net/ajax/
ASP.NETにMVCアーキテクチャを取り入れるASP.NET MVC(英語)
www.asp.net/mvc/
ASP.NETでのお役立ちの定番サイト
www.atmarkit.co.jp/channel/aspnet/aspnet.html

●前スレ
【質問】ASP.NETスレ Part5【議論】
pc11.2ch.net/test/read.cgi/php/1232671611/


818 名前:nobodyさん mailto:sage [2010/02/14(日) 15:52:53 ID:???]
↑ばかの一つ覚えのソース教えて君

819 名前:nobodyさん mailto:sage [2010/02/14(日) 23:40:57 ID:???]
ソース教えて君

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

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

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

822 名前:nobodyさん mailto:sage [2010/02/15(月) 13:30:32 ID:???]
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 mailto:sage [2010/02/15(月) 13:32:58 ID:???]
すみません、まだperl製のパッケージは入手しておりません。
また、流れの2と3は逆でも構いません。

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

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

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

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



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

828 名前:nobodyさん mailto:sage [2010/02/16(火) 08:39:12 ID:???]
>>827
了解です。自力で作成することにします。

829 名前:sage mailto:sage [2010/02/16(火) 10:07:20 ID:???]
>>821
AJAXクン、いつも絶好調ですねw

830 名前:nobodyさん mailto:sage [2010/02/16(火) 10:10:43 ID:???]
>>804
jQuery使えば簡単だよ

831 名前:nobodyさん mailto:sage [2010/02/16(火) 11:49:48 ID:???]
>>829
>>830
お前はもうこなくていいから


832 名前:nobodyさん mailto:sage [2010/02/16(火) 12:40:45 ID:???]
そーす君しつこすぎ

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

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

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

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

835 名前:nobodyさん mailto:sage [2010/02/16(火) 20:33:49 ID:???]
>>834
AJAX君は、無理してレスしないでよろしい

836 名前:834 mailto:sage [2010/02/16(火) 22:12:28 ID:???]
AJAX君なら
ASP.NET使って普通にやればできるよ
って回答だろう
あれと一緒にされるのは非常に心外だな



837 名前:nobodyさん mailto:sage [2010/02/16(火) 23:38:27 ID:???]
>ASP.NET使って普通にやればできるよ
お前のセリフじゃないか
できるのならソースを示せ


838 名前:nobodyさん mailto:sage [2010/02/17(水) 02:12:38 ID:???]
>>837
ソース君マジでうぜぇ

839 名前:nobodyさん mailto:sage [2010/02/17(水) 10:35:42 ID:???]
AJAX君は今日も絶好調

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

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

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

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

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

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

844 名前:nobodyさん mailto:sage [2010/02/18(木) 22:59:09 ID:???]
性別も出身地もnot nullだろうから
where 性別 = isnull(@sex,性別) and 出身地 = isnull(@home,出身地) でいい。

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


845 名前:840 mailto:sage [2010/02/19(金) 10:54:36 ID:???]
>>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 mailto:sage [2010/02/19(金) 10:56:28 ID:???]
アンカミスってたorz
>>843 >>844
です。



847 名前:nobodyさん mailto:sage [2010/02/19(金) 23:45:42 ID:???]
なんでそんなんになるのかは分からないけど、
なら、nullあきらめて、ありえない値にしとけば
@sex = 'both' にしとくとか

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

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

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

850 名前:nobodyさん mailto:sage [2010/02/20(土) 12:55:41 ID:???]
DBで言うところのNULLはC#でいうところのnullではない
DBで言うところのNULLを表すためにDBNullクラスがある

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

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

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

852 名前:nobodyさん mailto:sage [2010/02/20(土) 20:27:20 ID:???]
頭の悪い回答ですね(クスッ

853 名前:nobodyさん mailto:sage [2010/02/20(土) 20:43:38 ID:???]
どこが頭の悪い回答なの?ソース君

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

855 名前:nobodyさん mailto:sage [2010/02/20(土) 22:58:34 ID:???]
んで、どこが頭の悪い回答なの?
ソースプリーズ

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

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

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



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

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

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

860 名前:nobodyさん mailto:sage [2010/02/21(日) 14:32:13 ID:???]
>>858
>>857のSQLに文字なんてないよw


861 名前:nobodyさん mailto:sage [2010/02/21(日) 22:14:43 ID:???]
ソース教えて君大失態の巻

862 名前:nobodyさん mailto:sage [2010/02/21(日) 23:29:31 ID:???]
これは意外。
AJAXクンはSQLServer触った事ないのか。

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

864 名前:nobodyさん mailto:sage [2010/02/22(月) 00:24:50 ID:???]
>>857
たぶん、こういうのやりたいんでしょ
jsajax.com/aspGridView/Chapter1/ch1-14.aspx

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

865 名前:nobodyさん mailto:sage [2010/02/22(月) 02:03:04 ID:???]
>>862
もう恥の上塗りはやめよう

866 名前:nobodyさん mailto:sage [2010/02/22(月) 08:13:02 ID:???]
いまだにNG指定してない人がいるとか・・・



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

868 名前:nobodyさん mailto:sage [2010/02/22(月) 12:57:31 ID:???]
ソースくん涙目

869 名前:nobodyさん mailto:sage [2010/02/22(月) 15:19:18 ID:???]
>>868
しつこい

870 名前:nobodyさん mailto:sage [2010/02/23(火) 09:54:21 ID:???]
>>869
>>866

871 名前:nobodyさん mailto:sage [2010/02/23(火) 10:07:13 ID:???]
>>869
しつこいぞAJAXくん

872 名前:nobodyさん mailto:sage [2010/02/25(木) 11:34:40 ID:???]
AJAXクンは多分社会人じゃないと思うけど、社会に出てから苦労しそうな予感。

873 名前:nobodyさん mailto:sage [2010/02/26(金) 22:53:35 ID:???]
レガシーASPっていつまでサポートされるんだろう

874 名前:nobodyさん mailto:sage [2010/02/26(金) 23:58:18 ID:???]
ビルドが遅いのはなんとかして欲しいな。
Java(Eclipse)と比べてここは劣っていると言わざるを得ない。

875 名前:nobodyさん mailto:sage [2010/02/27(土) 02:49:00 ID:???]
いわざるをえないー

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



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

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

878 名前:nobodyさん mailto:sage [2010/02/27(土) 03:11:07 ID:???]
>>876
クライアント側に決めさせればいいだろ

879 名前:nobodyさん mailto:sage [2010/02/27(土) 03:14:10 ID:???]
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さん mailto:sage [2010/02/27(土) 03:16:58 ID:???]
サーバーにテキストファイル一旦作るのかどうかってとこか。

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

882 名前:nobodyさん mailto:sage [2010/02/27(土) 03:27:18 ID:???]
頭の悪い回答ですね

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

884 名前:nobodyさん mailto:sage [2010/02/27(土) 03:54:21 ID:???]
>>882
同意せざるを得ない。やっぱこのスレ、レベル低すぎ。

>>879

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

この方法でよい。

885 名前:nobodyさん mailto:sage [2010/02/27(土) 04:48:16 ID:???]
>>884
いや、主にお前のこと

886 名前:nobodyさん mailto:sage [2010/02/27(土) 08:46:00 ID:???]
www.ailight.jp/ASPDownload.aspx



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

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



888 名前:nobodyさん mailto:sage [2010/02/27(土) 16:43:48 ID:???]
それはサンプルがアホなだけ。エンコーディング指定して、Response.Writeが正解

889 名前:nobodyさん mailto:sage [2010/02/28(日) 00:29:00 ID:???]
>>887
Response.Writeでだめな理由はそのページにも書いてあるだろ
Response.Writeだとページのエンコーディング指定の影響を受ける

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

890 名前:876 mailto:sage [2010/02/28(日) 01:11:31 ID:???]
>>888-889
Response.Writeでも出来ました。
ありがとうございました。

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

892 名前:nobodyさん mailto:sage [2010/03/01(月) 09:27:33 ID:???]
ファイルメニューにありますた^^

893 名前:nobodyさん mailto:sage [2010/03/03(水) 10:29:09 ID:???]
>>822
似たような案件でうちで外部会社のperlアプリを突っ込まざるを得ない時は暫定的にこうした

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

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

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

894 名前:nobodyさん mailto:sage [2010/03/05(金) 14:35:25 ID:???]
ASP.NETで複数のUpdatePanelを使ってるんですが、
pnl1.Update()イベント中に
pnl1.Visible = false;

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

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

895 名前:nobodyさん mailto:sage [2010/03/05(金) 16:17:30 ID:???]
>894
MSDNを見る限り、UpdatePanelにUpdateイベントなんてないぞ
msdn.microsoft.com/ja-jp/library/system.web.ui.updatepanel_events.aspx
Updateメソッドならあるが...
Visble=falseってどこにどう書いてるんだ?もうちょっとコード晒せよ

896 名前:nobodyさん mailto:sage [2010/03/05(金) 17:34:15 ID:???]
>895
情報足りなくてすみません。

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

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



897 名前:nobodyさん mailto:sage [2010/03/05(金) 17:50:00 ID:???]
どうしたらいいもなにも、プロパティを設定するだけで普通に動くけど。

898 名前:nobodyさん mailto:sage [2010/03/05(金) 20:13:03 ID:???]
UpdatePanelの外側を変更したいという阿呆なこと考えているように見えるんだけど違うよな?

899 名前:nobodyさん [2010/03/06(土) 13:03:47 ID: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さん mailto:sage [2010/03/06(土) 15:27:42 ID:???]
AJAX使えば普通に変更出来るじゃん。特に悩むところは無いよ。

901 名前:nobodyさん mailto:sage [2010/03/06(土) 16:36:01 ID:???]
>>899
何のイベントで設定してるんだ?
まさかPage_Loadじゃないだろうな。
ListViewのDataBoundなりでやれば動くぞ。

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

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

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

903 名前:nobodyさん [2010/03/06(土) 17:28:43 ID:w7XPkCV9]
>>902
Page_Loadに記載しています。

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

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

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

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



904 名前:nobodyさん mailto:sage [2010/03/06(土) 17:39:39 ID:???]
>>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さん mailto:sage [2010/03/07(日) 07:50:05 ID:???]
全部ここで聞くつもりか

906 名前:nobodyさん mailto:sage [2010/03/07(日) 12:34:05 ID:???]

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さん mailto:sage [2010/03/07(日) 15:34:46 ID:???]
>>904
ListViewで何が出来るか、何をするものか勘違いしてる。
ListViewでは、何でも出来るけど、そのかわり自分で全部やらなきゃいけない。

908 名前:899 mailto:sage [2010/03/07(日) 16:52:11 ID:???]
>>907
元々、>>899のようなことがしたくてListviewでBoundFieldみたいなもの
ないかなと思って本やネットで探していたのですが、どうもListviewには
BoudnFiledは無さそうでした。

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


909 名前:901 mailto:sage [2010/03/07(日) 17:34:54 ID:???]
>>908
何を言っているのか意味が分からん。

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

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

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

910 名前:899 mailto:sage [2010/03/07(日) 18:43:48 ID:???]
>>909
イベントのことだったのですね。
ありがとうございました。


911 名前:nobodyさん mailto:sage [2010/03/08(月) 10:00:40 ID:???]
やっぱり、おまいらは、客に納品するシステムを
visual web developer express 2008 作ったりするの???

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

913 名前:nobodyさん mailto:sage [2010/03/08(月) 14:18:32 ID:???]
expressでも作ってしまえば同じだろ。
お客にソース渡してお客がメンテするのならライセンスはお客側の話だ。

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

915 名前:nobodyさん mailto:sage [2010/03/08(月) 18:31:13 ID:???]
>>914
質問に、「客に納品する」って前提条件があるのに
元質問に全くない要素ってか

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

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



917 名前:nobodyさん mailto:sage [2010/03/08(月) 18:58:08 ID:???]
うちもないな。というか、Express使うという発想がない。

918 名前:nobodyさん mailto:sage [2010/03/08(月) 19:19:26 ID:???]
MSに問合わせて解決したことが無い俺






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<322KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef