トップページ⇒php
983コメント422KB

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

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

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

●前スレ
【質問】ASP.NETスレ Part5【議論】
http://pc11.2ch.net/test/read.cgi/php/1232671611/
0809nobodyさん2010/02/13(土) 06:49:05ID:???
>>804-806
DayRenderではイベントを発生させるコントロールは追加できないらしい
ためしにCheckBox追加してみたが、表示はされるがイベントがハンドリングされねえ
クライアントスクリプト仕込むとかでなんとかする方法もないではないだろうけど
どっちにしろ曜日のヘッダー部ではDayRenderは発生しないようだ

ということで、俺なら自分でカレンダーすべてレンダリングするコントロールを自作するかな
0810nobodyさん2010/02/13(土) 18:48:32ID:???
ていうかAJAX使えば悩むところなんて全く無いだろ。
また例によってAJAX使用禁止とか訳分からん縛りでもあるのか?質問者は
何が聞きたいんだ?
0811nobodyさん2010/02/13(土) 18:57:21ID:???
この4文字NG指定しましょうね。
0812nobodyさん2010/02/13(土) 20:52:55ID:???
>>811
ソース教えて君マジウザイ
0813nobodyさん2010/02/13(土) 22:56:57ID:???
それもNGに
0814nobodyさん2010/02/14(日) 01:16:41ID:???
AJAX禁止したら、その技術に関して何も言えなくなるじゃんね
つーかソース教えろ厨マジうぜー
0815nobodyさん2010/02/14(日) 01:48:51ID:???
それもNGに
0816nobodyさん2010/02/14(日) 11:50:09ID:???
ソース教えて君がレスをみれなくなるだけだから問題ナッシング
つか自分からNG設定するぐらいなら、はじめからスレにこなければいいのに
0817nobodyさん2010/02/14(日) 15:40:48ID:???
それもNGに
0818nobodyさん2010/02/14(日) 15:52:53ID:???
↑ばかの一つ覚えのソース教えて君
0819nobodyさん2010/02/14(日) 23:40:57ID:???
ソース教えて君
08208042010/02/15(月) 09:22:24ID:???
>>809
やはり普通のカレンダーコントロールでは難しそうですね・・・。
自作コントローラを作る場合、どのようにすればいいのでしょうか。
まだasp.netに触れて日が浅いもので・・・。

>>810
AJAXもいまいち理解できていないので、ピンときてません。
AJAXを使えば実装できるのでしょうか。
0821nobodyさん2010/02/15(月) 12:50:57ID:???
>>820
このスレには「回答にはすべてソースを付記しないと回答したことにならない厨」(通称ソース教えろ厨)という馬鹿がいて、
そいつがAJAXという技術を知らなくて馬鹿にされたので、
AJAX使えば何でもできるという印象操作をしているだけなので無視してください。
ソース教えろ厨が、ご迷惑をおかけしておりますが、よろしくお願いいたします。
0822nobodyさん2010/02/15(月) 13:30:32ID:???
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レスポンスを返す

どのように設定するかどなたかお分かりになりますか。
08238222010/02/15(月) 13:32:58ID:???
すみません、まだperl製のパッケージは入手しておりません。
また、流れの2と3は逆でも構いません。
0824nobodyさん2010/02/15(月) 16:13:12ID:???
それたぶん無理じゃないのかな
aspxでperlのほうにリダイレクトして、
perl側でリダイレクトじゃなければエラー吐くみたいな
処理ならできるのかもしれないけど
0825nobodyさん2010/02/15(月) 18:12:02ID:???
ASP.NETでフォーム認証は解説サイトもあり簡単にできたのですが
ASPでフォーム認証するにはどうすればいいでしょうか?
参考になるサイトがありましたら教えてください。
0826nobodyさん2010/02/15(月) 21:37:31ID:???
質問です、Ajax Control ToolkitのTabContainerコントロールに配置した
テキストボックスに(ロード時やタブの切り替え時に)
フォーカスをセットする方法をおしてください。

通常のPanel上に配置されたテキストボックスには
フォーカスがセットされるのですがTabContainerコントロールに配置した
テキストボックスにフォーカスをあてる事ができずに困っています、
どうか良いご回答をおねがいしますm(__)m
0827nobodyさん2010/02/15(月) 22:00:35ID:???
>>825
ASP.NET的なフォーム認証の仕組みは無い
ASPでやるならCookieとSessionとglobal.asa使って自力で同じようなもんを実装するくらいか
0828nobodyさん2010/02/16(火) 08:39:12ID:???
>>827
了解です。自力で作成することにします。
0829sage2010/02/16(火) 10:07:20ID:???
>>821
AJAXクン、いつも絶好調ですねw
0830nobodyさん2010/02/16(火) 10:10:43ID:???
>>804
jQuery使えば簡単だよ
0831nobodyさん2010/02/16(火) 11:49:48ID:???
>>829
>>830
お前はもうこなくていいから
0832nobodyさん2010/02/16(火) 12:40:45ID:???
そーす君しつこすぎ
0833nobodyさん2010/02/16(火) 13:48:49ID:???
showModalDialog()で開いたページでDB登録処理を行い、
正常に終了した場合、このダイアログを閉じたいんだけど
window.close()をどのようにして指定すればいいんでしょう。
0834nobodyさん2010/02/16(火) 20:15:09ID:???
>>822
パールの呼び出しはCGI経由なのか?
CGI全部自分で処理するカスタムHTTPハンドラつくって、その中でパール呼び出せばできるような気がする

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

--ここから余談
できても俺ならやりたくない。つかやらない
認証を共通でやりたいなら、パッケージ側に認証の連動機能を要求する
パッケージのログはパッケージの機能で採取してもらう
外部のパッケージ使うならそういう割り切りが必要だと思う
0835nobodyさん2010/02/16(火) 20:33:49ID:???
>>834
AJAX君は、無理してレスしないでよろしい
08368342010/02/16(火) 22:12:28ID:???
AJAX君なら
ASP.NET使って普通にやればできるよ
って回答だろう
あれと一緒にされるのは非常に心外だな
0837nobodyさん2010/02/16(火) 23:38:27ID:???
>ASP.NET使って普通にやればできるよ
お前のセリフじゃないか
できるのならソースを示せ
0838nobodyさん2010/02/17(水) 02:12:38ID:???
>>837
ソース君マジでうぜぇ
0839nobodyさん2010/02/17(水) 10:35:42ID:???
AJAX君は今日も絶好調
0840nobodyさん2010/02/18(木) 18:07:25ID:???
GridViewについて、質問があります。
DropDownListの値を使用して、GridViewの表示を変えるシステムを作っているのですが。
DropDownListに全件表示の選択を加えたいと、考えています。
この場合、DropDownListの全件表示プロパティのvalueには、なんと書いたら良いのでしょうか?
0841nobodyさん2010/02/18(木) 18:16:51ID:???
表示を変えるってのは、1ページの表示件数かな?
としても、GridViewのデータをどうやって作ってるかによるので答えようがないです。
10とか20とかで動いてるなら全件数でもいれとけば。
08428402010/02/18(木) 18:49:24ID:???
すみません、言葉足らずでした。
DropDownListでDBの検索条件を指定して検索、結果をGridViewで表示するシステムです。
DropDownListの中身はDBから引っ張ってくるため、力技だと不都合が出てしまいます。

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

性別、出身地の2つを選んでもらい、検索結果を表示します。
0843nobodyさん2010/02/18(木) 22:00:17ID:???
nullの値の条件なしみたいなドロップダウンの項目を追加して
sqlの条件の所  (syussin = @syussin) みたいな所を
( @syussin IS NULL OR syussin = @syussin )  とやったことあったな。
0844nobodyさん2010/02/18(木) 22:59:09ID:???
性別も出身地もnot nullだろうから
where 性別 = isnull(@sex,性別) and 出身地 = isnull(@home,出身地) でいい。

全件検索は@sex = null、@home = nullでとれる
08458402010/02/19(金) 10:54:36ID:???
>>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)
でも同じ結果でした。

必須という訳でもないので、私にはできないという方向で、検討していこうかと思います。
アドバイスありがとうございました。
08468402010/02/19(金) 10:56:28ID:???
アンカミスってたorz
>>843 >>844
です。
0847nobodyさん2010/02/19(金) 23:45:42ID:???
なんでそんなんになるのかは分からないけど、
なら、nullあきらめて、ありえない値にしとけば
@sex = 'both' にしとくとか
0848nobodyさん2010/02/20(土) 02:13:33ID:???
SQLの問題じゃないだろ。基本的な処理の流れがわかってない
まず、ドロップダウンに設定する値はなんでもいい。俺なら空文字列設定する
そして、検索するときにその値をチェックする
動的にSQL作ってるなら検索条件変えるだけだし、>>843,844が言うようなSQLを設定してるなら
パラメータにNULLをセットする

DBでいうところのNULLってのは"NULL"って文字列じゃないぞ
0849nobodyさん2010/02/20(土) 05:49:04ID:???
パラメータに(C#の)nullって渡せるんだっけ?DBNullじゃなくて
最近LINQばかりでよく覚えてないや
0850nobodyさん2010/02/20(土) 12:55:41ID:???
DBで言うところのNULLはC#でいうところのnullではない
DBで言うところのNULLを表すためにDBNullクラスがある

パラメータにNULLをセットするってのは、DBで言うところのNULLをセットしろってことだろ
C#のnullをセットするってことは値をセットしないこととほぼ同義だぜ
0851nobodyさん2010/02/20(土) 17:42:04ID:???
ウィザード使わないで、自分で動的にSQLを作ればいいんでない?
GridViewとDropDownListを連動させて検索するとか
型どおりの動作は簡単にできるけど、ちょっと細かく挙動を変化させたりとかできないし。

自分ならDropDownListに各種項目(valueは各種項目のデータのid)と「全件表示」項目(valueは0)を表示させるユーザコントロールを作るな。
で、DataSetで全件のデータを取得して、Selectメソッド(またはLinq)でデータを抽出してGridViewにデータバインドさせるか、
DropDownListの選択具合によってASP.NET側で動的にSQLを生成してクエリを発行するか、
SQLのテーブル値関数でクエリを生成してデータを返す。
0852nobodyさん2010/02/20(土) 20:27:20ID:???
頭の悪い回答ですね(クスッ
0853nobodyさん2010/02/20(土) 20:43:38ID:???
どこが頭の悪い回答なの?ソース君
0854nobodyさん2010/02/20(土) 22:42:45ID:???
>>853
AJAX君にしてはキレの悪い突っ込みですねw
0855nobodyさん2010/02/20(土) 22:58:34ID:???
んで、どこが頭の悪い回答なの?
ソースプリーズ
0856nobodyさん2010/02/20(土) 23:07:08ID:???
852 名前: nobodyさん [sage] 投稿日: 2010/02/20(土) 20:27:20 ID:???
頭の悪い回答ですね(クスッ

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

やっぱり意味ないレスで人を煽るのは、ソースくれ厨か
0857nobodyさん2010/02/21(日) 00:17:19ID:???
>>840
ManagementStudioで
SELECT ID, name, sex, blood, hometown FROM Table1 Where sex = sex AND hometown = hometown
を実行してみてよ。
手打ちするのではなく、上のSQLをコピペして実行してね。
0858nobodyさん2010/02/21(日) 00:47:36ID:???
文字ならシングルクォーテーションで括ろうぜ AJAX君
0859nobodyさん2010/02/21(日) 04:00:45ID:???
ん?where 1 = 1と同じ意味だから全件拾えるって話だろ。
まぁ確かに>>845に対するレスってのが一瞬掴めなくて、
いきなり何言ってるんだとは思ったが。
0860nobodyさん2010/02/21(日) 14:32:13ID:???
>>858
>>857のSQLに文字なんてないよw
0861nobodyさん2010/02/21(日) 22:14:43ID:???
ソース教えて君大失態の巻
0862nobodyさん2010/02/21(日) 23:29:31ID:???
これは意外。
AJAXクンはSQLServer触った事ないのか。
0863nobodyさん2010/02/22(月) 00:09:53ID:???
>>862
858 名前: nobodyさん [sage] 投稿日: 2010/02/21(日) 00:47:36 ID:???
文字ならシングルクォーテーションで括ろうぜ AJAX君
0864nobodyさん2010/02/22(月) 00:24:50ID:???
>>857
たぶん、こういうのやりたいんでしょ
http://jsajax.com/aspGridView/Chapter1/ch1-14.aspx

それをコーディングレスでやりたいから、データソースの構成ウィザードで設定する、
SELECTステートメントのクエリの書き方が知りたいということだと思う。
だから、クエリそのものの使い方や回答をしても意味がないと思うよ。
0865nobodyさん2010/02/22(月) 02:03:04ID:???
>>862
もう恥の上塗りはやめよう
0866nobodyさん2010/02/22(月) 08:13:02ID:???
いまだにNG指定してない人がいるとか・・・
08678402010/02/22(月) 11:43:20ID:???
あれから、いろいろといじってみていたところ
>>843のやりかたで、無事できました。
開始オプションで、最初に作った他のものを開いていたようです
あああああああ死にたいorz
0868nobodyさん2010/02/22(月) 12:57:31ID:???
ソースくん涙目
0869nobodyさん2010/02/22(月) 15:19:18ID:???
>>868
しつこい
0870nobodyさん2010/02/23(火) 09:54:21ID:???
>>869
>>866
0871nobodyさん2010/02/23(火) 10:07:13ID:???
>>869
しつこいぞAJAXくん
0872nobodyさん2010/02/25(木) 11:34:40ID:???
AJAXクンは多分社会人じゃないと思うけど、社会に出てから苦労しそうな予感。
0873nobodyさん2010/02/26(金) 22:53:35ID:???
レガシーASPっていつまでサポートされるんだろう
0874nobodyさん2010/02/26(金) 23:58:18ID:???
ビルドが遅いのはなんとかして欲しいな。
Java(Eclipse)と比べてここは劣っていると言わざるを得ない。
0875nobodyさん2010/02/27(土) 02:49:00ID:???
いわざるをえないー
0876nobodyさん2010/02/27(土) 02:58:10ID:???
DBからSQLでデータを取得して、TEXTファイルをダウンロードするようにしたいのですが。
取得したデータをループでStreamWriterに書き込んでいって、最後にResponse.Write(sw)みたいなやり方で出来ますか?
このやり方だとファイル名はどうやって指定してあげればいいのかわかりません。
初心者です。
0877nobodyさん2010/02/27(土) 03:01:00ID:???
TEXTファイルをダウンロードってところを具体的に。
取得したデータというのはDBのデータのこと?TEXTファイルの文字?
ファイル名はテキストファイルのファイル名?

こんなんで分かると思うのかー超能力者じゃないんだぞー
0878nobodyさん2010/02/27(土) 03:11:07ID:???
>>876
クライアント側に決めさせればいいだろ
0879nobodyさん2010/02/27(土) 03:14:10ID:???
876です。
>>877
最終的に作りたいのがTEXTファイルです。
DBのデータをSQLでselectしてきて、それをTEXTファイルに吐きだしたいんです。
その時にファイル名を指定して吐きだすことになると思うんですが。

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

複数行のレコードを書き込むにはStreamWriterが便利だと思ったんですが。
0880nobodyさん2010/02/27(土) 03:16:58ID:???
サーバーにテキストファイル一旦作るのかどうかってとこか。
08818762010/02/27(土) 03:17:46ID:???
ちなみに、ダイアログ(開く、保存、キャンセルがあるやつ)からダウンロードするようにしたいです。
0882nobodyさん2010/02/27(土) 03:27:18ID:???
頭の悪い回答ですね
0883nobodyさん2010/02/27(土) 03:39:15ID:???
>>879
一つ目のファイル名は、ローカルに保存されるファイルのファイル名を指定するものだけど、
2つめのファイル名は、サーバーにテキストファイルを作るときのファイル名。
とあるサイトでの使われた方知らないから分からないけど、いったん作ったファイルから
Response.Writeに書き出すこともできる
0884nobodyさん2010/02/27(土) 03:54:21ID:???
>>882
同意せざるを得ない。やっぱこのスレ、レベル低すぎ。

>>879

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

この方法でよい。
0885nobodyさん2010/02/27(土) 04:48:16ID:???
>>884
いや、主にお前のこと
0886nobodyさん2010/02/27(土) 08:46:00ID:???
http://www.ailight.jp/ASPDownload.aspx
08878762010/02/27(土) 15:38:59ID:???
>>886
ここの方法だと、string変数に改行コードを入れつつループさせてファイルを作成していますね。
これを真似してみたらうまくいきました。
StreamWriterを使う方がちょっと面倒なのかな。

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

0888nobodyさん2010/02/27(土) 16:43:48ID:???
それはサンプルがアホなだけ。エンコーディング指定して、Response.Writeが正解
0889nobodyさん2010/02/28(日) 00:29:00ID:???
>>887
Response.Writeでだめな理由はそのページにも書いてあるだろ
Response.Writeだとページのエンコーディング指定の影響を受ける

特定の文字コードでダウンロードさせたいなら、>>888がいうように
Response.CharsetなりResponse.ContentEncodingなりを指定して
Response.Writeするのが正解(ただしテキストに限る)
08908762010/02/28(日) 01:11:31ID:???
>>888-889
Response.Writeでも出来ました。
ありがとうございました。
0891nobodyさん2010/03/01(月) 08:34:18ID:???
VisualStudio2008standardなんですが
ASP.netのプロジェクトにはWebアプリとWebサイトがあると
聞いたんですがWebアプリしかありませんでした。
Webサイトプロジェクトを作成するにはどうしたらいいでしょうか?
0892nobodyさん2010/03/01(月) 09:27:33ID:???
ファイルメニューにありますた^^
0893nobodyさん2010/03/03(水) 10:29:09ID:???
>>822
似たような案件でうちで外部会社のperlアプリを突っ込まざるを得ない時は暫定的にこうした

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

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

正しいやり方か見当つかないんだけど、この方法って合ってるんかな
0894nobodyさん2010/03/05(金) 14:35:25ID:???
ASP.NETで複数のUpdatePanelを使ってるんですが、
pnl1.Update()イベント中に
pnl1.Visible = false;
や
pnl2.Visible = true;
をしても表示が変更されません。

どのタイミングでどうすれば非表示に出来るのでしょうか
どなたかお願いします。
0895nobodyさん2010/03/05(金) 16:17:30ID:???
>894
MSDNを見る限り、UpdatePanelにUpdateイベントなんてないぞ
http://msdn.microsoft.com/ja-jp/library/system.web.ui.updatepanel_events.aspx
Updateメソッドならあるが...
Visble=falseってどこにどう書いてるんだ?もうちょっとコード晒せよ
0896nobodyさん2010/03/05(金) 17:34:15ID:???
>895
情報足りなくてすみません。

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

pnl1.Update();
実行時には、表示変更が反映されず、
初回に非表示になってしまったパネルは、非表示のままです。
Update()発行時に、表示/非表示を切り替えるには、
どうしたらいいのかをご教示ください。
0897nobodyさん2010/03/05(金) 17:50:00ID:???
どうしたらいいもなにも、プロパティを設定するだけで普通に動くけど。
0898nobodyさん2010/03/05(金) 20:13:03ID:???
UpdatePanelの外側を変更したいという阿呆なこと考えているように見えるんだけど違うよな?
0899nobodyさん2010/03/06(土) 13:03:47ID: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です。
0900nobodyさん2010/03/06(土) 15:27:42ID:???
AJAX使えば普通に変更出来るじゃん。特に悩むところは無いよ。
0901nobodyさん2010/03/06(土) 16:36:01ID:???
>>899
何のイベントで設定してるんだ?
まさかPage_Loadじゃないだろうな。
ListViewのDataBoundなりでやれば動くぞ。
0902nobodyさん2010/03/06(土) 16:49:34ID:???
>>899
まず、エラーメッセージを正確にかけ。おそらく、
オブジェクト参照がオブジェクト インスタンスに設定されていません
のはずだ
データソースが指定されていないから、テンプレートに指定した内容が
実際にまだ作成されていないからエラーになってる

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

>>901
そもそもDataBound発生してないと思うぞ
ちなみに俺が試した範囲ではデータソースをちゃんとすれば
Page_Loadでも動いた
0903nobodyさん2010/03/06(土) 17:28:43ID:w7XPkCV9
>>902
Page_Loadに記載しています。

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

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

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

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

0904nobodyさん2010/03/06(土) 17:39:39ID:???
>>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' というパブリック プロパティは含まれていません。」

0905nobodyさん2010/03/07(日) 07:50:05ID:???
全部ここで聞くつもりか
0906nobodyさん2010/03/07(日) 12:34:05ID:???

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でもやり方がわかりませんでした。

0907nobodyさん2010/03/07(日) 15:34:46ID:???
>>904
ListViewで何が出来るか、何をするものか勘違いしてる。
ListViewでは、何でも出来るけど、そのかわり自分で全部やらなきゃいけない。
09088992010/03/07(日) 16:52:11ID:???
>>907
元々、>>899のようなことがしたくてListviewでBoundFieldみたいなもの
ないかなと思って本やネットで探していたのですが、どうもListviewには
BoudnFiledは無さそうでした。

ところが、>>901さんが「ListViewのDataBoundなりでやれば動くぞ」と
言われたので尋ねた次第です。
レス数が900を超えています。1000を超えると表示できなくなるよ。