【質問】ASP.NETスレ Part6【雑談】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2009/09/01(火) 20:06:04ID:???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:???DayRenderではイベントを発生させるコントロールは追加できないらしい
ためしにCheckBox追加してみたが、表示はされるがイベントがハンドリングされねえ
クライアントスクリプト仕込むとかでなんとかする方法もないではないだろうけど
どっちにしろ曜日のヘッダー部ではDayRenderは発生しないようだ
ということで、俺なら自分でカレンダーすべてレンダリングするコントロールを自作するかな
0810nobodyさん
2010/02/13(土) 18:48:32ID:???また例によってAJAX使用禁止とか訳分からん縛りでもあるのか?質問者は
何が聞きたいんだ?
0811nobodyさん
2010/02/13(土) 18:57:21ID:???0813nobodyさん
2010/02/13(土) 22:56:57ID:???0814nobodyさん
2010/02/14(日) 01:16:41ID:???つーかソース教えろ厨マジうぜー
0815nobodyさん
2010/02/14(日) 01:48:51ID:???0816nobodyさん
2010/02/14(日) 11:50:09ID:???つか自分からNG設定するぐらいなら、はじめからスレにこなければいいのに
0817nobodyさん
2010/02/14(日) 15:40:48ID:???0818nobodyさん
2010/02/14(日) 15:52:53ID:???0819nobodyさん
2010/02/14(日) 23:40:57ID:???0820804
2010/02/15(月) 09:22:24ID:???やはり普通のカレンダーコントロールでは難しそうですね・・・。
自作コントローラを作る場合、どのようにすればいいのでしょうか。
まだasp.netに触れて日が浅いもので・・・。
>>810
AJAXもいまいち理解できていないので、ピンときてません。
AJAXを使えば実装できるのでしょうか。
0821nobodyさん
2010/02/15(月) 12:50:57ID:???このスレには「回答にはすべてソースを付記しないと回答したことにならない厨」(通称ソース教えろ厨)という馬鹿がいて、
そいつがAJAXという技術を知らなくて馬鹿にされたので、
AJAX使えば何でもできるという印象操作をしているだけなので無視してください。
ソース教えろ厨が、ご迷惑をおかけしておりますが、よろしくお願いいたします。
0822nobodyさん
2010/02/15(月) 13:30:32ID:???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レスポンスを返す
どのように設定するかどなたかお分かりになりますか。
0823822
2010/02/15(月) 13:32:58ID:???また、流れの2と3は逆でも構いません。
0824nobodyさん
2010/02/15(月) 16:13:12ID:???aspxでperlのほうにリダイレクトして、
perl側でリダイレクトじゃなければエラー吐くみたいな
処理ならできるのかもしれないけど
0825nobodyさん
2010/02/15(月) 18:12:02ID:???ASPでフォーム認証するにはどうすればいいでしょうか?
参考になるサイトがありましたら教えてください。
0826nobodyさん
2010/02/15(月) 21:37:31ID:???テキストボックスに(ロード時やタブの切り替え時に)
フォーカスをセットする方法をおしてください。
通常のPanel上に配置されたテキストボックスには
フォーカスがセットされるのですがTabContainerコントロールに配置した
テキストボックスにフォーカスをあてる事ができずに困っています、
どうか良いご回答をおねがいしますm(__)m
0827nobodyさん
2010/02/15(月) 22:00:35ID:???ASP.NET的なフォーム認証の仕組みは無い
ASPでやるならCookieとSessionとglobal.asa使って自力で同じようなもんを実装するくらいか
0832nobodyさん
2010/02/16(火) 12:40:45ID:???0833nobodyさん
2010/02/16(火) 13:48:49ID:???正常に終了した場合、このダイアログを閉じたいんだけど
window.close()をどのようにして指定すればいいんでしょう。
0834nobodyさん
2010/02/16(火) 20:15:09ID:???パールの呼び出しはCGI経由なのか?
CGI全部自分で処理するカスタムHTTPハンドラつくって、その中でパール呼び出せばできるような気がする
できるかどうか詳しく検証してないからできないかもしれない
--ここから余談
できても俺ならやりたくない。つかやらない
認証を共通でやりたいなら、パッケージ側に認証の連動機能を要求する
パッケージのログはパッケージの機能で採取してもらう
外部のパッケージ使うならそういう割り切りが必要だと思う
0836834
2010/02/16(火) 22:12:28ID:???ASP.NET使って普通にやればできるよ
って回答だろう
あれと一緒にされるのは非常に心外だな
0837nobodyさん
2010/02/16(火) 23:38:27ID:???お前のセリフじゃないか
できるのならソースを示せ
0839nobodyさん
2010/02/17(水) 10:35:42ID:???0840nobodyさん
2010/02/18(木) 18:07:25ID:???DropDownListの値を使用して、GridViewの表示を変えるシステムを作っているのですが。
DropDownListに全件表示の選択を加えたいと、考えています。
この場合、DropDownListの全件表示プロパティのvalueには、なんと書いたら良いのでしょうか?
0841nobodyさん
2010/02/18(木) 18:16:51ID:???としても、GridViewのデータをどうやって作ってるかによるので答えようがないです。
10とか20とかで動いてるなら全件数でもいれとけば。
0842840
2010/02/18(木) 18:49:24ID:???DropDownListでDBの検索条件を指定して検索、結果をGridViewで表示するシステムです。
DropDownListの中身はDBから引っ張ってくるため、力技だと不都合が出てしまいます。
DBの内容としては、下記のようなものを使用しています。
id / 名前 / 性別 / 血液型 / 出身地
性別、出身地の2つを選んでもらい、検索結果を表示します。
0843nobodyさん
2010/02/18(木) 22:00:17ID:???sqlの条件の所 (syussin = @syussin) みたいな所を
( @syussin IS NULL OR syussin = @syussin ) とやったことあったな。
0844nobodyさん
2010/02/18(木) 22:59:09ID:???where 性別 = isnull(@sex,性別) and 出身地 = isnull(@home,出身地) でいい。
全件検索は@sex = null、@home = nullでとれる
0845840
2010/02/19(金) 10:54:36ID:???お二方のアドバイスを参考に、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)
でも同じ結果でした。
必須という訳でもないので、私にはできないという方向で、検討していこうかと思います。
アドバイスありがとうございました。
0847nobodyさん
2010/02/19(金) 23:45:42ID:???なら、nullあきらめて、ありえない値にしとけば
@sex = 'both' にしとくとか
0848nobodyさん
2010/02/20(土) 02:13:33ID:???まず、ドロップダウンに設定する値はなんでもいい。俺なら空文字列設定する
そして、検索するときにその値をチェックする
動的にSQL作ってるなら検索条件変えるだけだし、>>843,844が言うようなSQLを設定してるなら
パラメータにNULLをセットする
DBでいうところのNULLってのは"NULL"って文字列じゃないぞ
0849nobodyさん
2010/02/20(土) 05:49:04ID:???最近LINQばかりでよく覚えてないや
0850nobodyさん
2010/02/20(土) 12:55:41ID:???DBで言うところのNULLを表すためにDBNullクラスがある
パラメータにNULLをセットするってのは、DBで言うところのNULLをセットしろってことだろ
C#のnullをセットするってことは値をセットしないこととほぼ同義だぜ
0851nobodyさん
2010/02/20(土) 17:42:04ID:???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:???0855nobodyさん
2010/02/20(土) 22:58:34ID:???ソースプリーズ
0856nobodyさん
2010/02/20(土) 23:07:08ID:???頭の悪い回答ですね(クスッ
854 名前: nobodyさん [sage] 投稿日: 2010/02/20(土) 22:42:45 ID:???
AJAX君にしてはキレの悪い突っ込みですねw
やっぱり意味ないレスで人を煽るのは、ソースくれ厨か
0857nobodyさん
2010/02/21(日) 00:17:19ID:???ManagementStudioで
SELECT ID, name, sex, blood, hometown FROM Table1 Where sex = sex AND hometown = hometown
を実行してみてよ。
手打ちするのではなく、上のSQLをコピペして実行してね。
0858nobodyさん
2010/02/21(日) 00:47:36ID:???0859nobodyさん
2010/02/21(日) 04:00:45ID:???まぁ確かに>>845に対するレスってのが一瞬掴めなくて、
いきなり何言ってるんだとは思ったが。
0861nobodyさん
2010/02/21(日) 22:14:43ID:???0862nobodyさん
2010/02/21(日) 23:29:31ID:???AJAXクンはSQLServer触った事ないのか。
0863nobodyさん
2010/02/22(月) 00:09:53ID:???858 名前: nobodyさん [sage] 投稿日: 2010/02/21(日) 00:47:36 ID:???
文字ならシングルクォーテーションで括ろうぜ AJAX君
0864nobodyさん
2010/02/22(月) 00:24:50ID:???たぶん、こういうのやりたいんでしょ
http://jsajax.com/aspGridView/Chapter1/ch1-14.aspx
それをコーディングレスでやりたいから、データソースの構成ウィザードで設定する、
SELECTステートメントのクエリの書き方が知りたいということだと思う。
だから、クエリそのものの使い方や回答をしても意味がないと思うよ。
0866nobodyさん
2010/02/22(月) 08:13:02ID:???0867840
2010/02/22(月) 11:43:20ID:???>>843のやりかたで、無事できました。
開始オプションで、最初に作った他のものを開いていたようです
あああああああ死にたいorz
0868nobodyさん
2010/02/22(月) 12:57:31ID:???0872nobodyさん
2010/02/25(木) 11:34:40ID:???0873nobodyさん
2010/02/26(金) 22:53:35ID:???0874nobodyさん
2010/02/26(金) 23:58:18ID:???Java(Eclipse)と比べてここは劣っていると言わざるを得ない。
0875nobodyさん
2010/02/27(土) 02:49:00ID:???0876nobodyさん
2010/02/27(土) 02:58:10ID:???取得したデータをループでStreamWriterに書き込んでいって、最後にResponse.Write(sw)みたいなやり方で出来ますか?
このやり方だとファイル名はどうやって指定してあげればいいのかわかりません。
初心者です。
0877nobodyさん
2010/02/27(土) 03:01:00ID:???取得したデータというのはDBのデータのこと?TEXTファイルの文字?
ファイル名はテキストファイルのファイル名?
こんなんで分かると思うのかー超能力者じゃないんだぞー
0879nobodyさん
2010/02/27(土) 03:14:10ID:???>>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:???0881876
2010/02/27(土) 03:17:46ID:???0882nobodyさん
2010/02/27(土) 03:27:18ID:???0883nobodyさん
2010/02/27(土) 03:39:15ID:???一つ目のファイル名は、ローカルに保存されるファイルのファイル名を指定するものだけど、
2つめのファイル名は、サーバーにテキストファイルを作るときのファイル名。
とあるサイトでの使われた方知らないから分からないけど、いったん作ったファイルから
Response.Writeに書き出すこともできる
0884nobodyさん
2010/02/27(土) 03:54:21ID:???同意せざるを得ない。やっぱこのスレ、レベル低すぎ。
>>879
Response.AddHeader("Content-Disposition","attachment;filename=ファイル名");
この方法でよい。
0886nobodyさん
2010/02/27(土) 08:46:00ID:???0887876
2010/02/27(土) 15:38:59ID:???ここの方法だと、string変数に改行コードを入れつつループさせてファイルを作成していますね。
これを真似してみたらうまくいきました。
StreamWriterを使う方がちょっと面倒なのかな。
ちなみにサンプルでは、Response.BinaryWrite(encoding.GetBytes(tempString))のようにstringの文字列をbyteのように扱っていたのですが、Response.Write(tempString)ではだめなんでしょうか。
0888nobodyさん
2010/02/27(土) 16:43:48ID:???0889nobodyさん
2010/02/28(日) 00:29:00ID:???Response.Writeでだめな理由はそのページにも書いてあるだろ
Response.Writeだとページのエンコーディング指定の影響を受ける
特定の文字コードでダウンロードさせたいなら、>>888がいうように
Response.CharsetなりResponse.ContentEncodingなりを指定して
Response.Writeするのが正解(ただしテキストに限る)
0891nobodyさん
2010/03/01(月) 08:34:18ID:???ASP.netのプロジェクトにはWebアプリとWebサイトがあると
聞いたんですがWebアプリしかありませんでした。
Webサイトプロジェクトを作成するにはどうしたらいいでしょうか?
0892nobodyさん
2010/03/01(月) 09:27:33ID:???0893nobodyさん
2010/03/03(水) 10:29:09ID:???似たような案件でうちで外部会社のperlアプリを突っ込まざるを得ない時は暫定的にこうした
1.perlアプリはASP.NETアプリの下階層のディレクトリに放り込む
2.ディレクトリをWebアプリ化してそこのワイルドカードアプリケーションマップににaspnet_isapi.dllを設定
検証した限りではフォーム認証かけつつperlを動かすことができた
その後perl側で対応してもらったから今はやってない
この場合はフォーム認証だけだったけど、ここ用のglobal.asaxを突っ込めばログも対応できるかも
正しいやり方か見当つかないんだけど、この方法って合ってるんかな
0894nobodyさん
2010/03/05(金) 14:35:25ID:???pnl1.Update()イベント中に
pnl1.Visible = false;
や
pnl2.Visible = true;
をしても表示が変更されません。
どのタイミングでどうすれば非表示に出来るのでしょうか
どなたかお願いします。
0895nobodyさん
2010/03/05(金) 16:17:30ID:???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:???情報足りなくてすみません。
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:???0899nobodyさん
2010/03/06(土) 13:03:47ID:w7XPkCV9ASP.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:???0901nobodyさん
2010/03/06(土) 16:36:01ID:???何のイベントで設定してるんだ?
まさかPage_Loadじゃないだろうな。
ListViewのDataBoundなりでやれば動くぞ。
0902nobodyさん
2010/03/06(土) 16:49:34ID:???まず、エラーメッセージを正確にかけ。おそらく、
オブジェクト参照がオブジェクト インスタンスに設定されていません
のはずだ
データソースが指定されていないから、テンプレートに指定した内容が
実際にまだ作成されていないからエラーになってる
ちゃんとしたDataSourceIDを指定するなり、DataSource指定してDataBindしてから
やればちゃんと動くはず
>>901
そもそもDataBound発生してないと思うぞ
ちなみに俺が試した範囲ではデータソースをちゃんとすれば
Page_Loadでも動いた
0903nobodyさん
2010/03/06(土) 17:28:43ID:w7XPkCV9Page_Loadに記載しています。
エラーメッセージは、最初に記載したエラーの上にご指摘の
「オブジェクト参照がオブジェクト インスタンスに設定されていません 」が
表示されていました。
Dim lblth1 As Label = CType(ListView1.FindControl("Label1"), Label)
lblth1.Text = "項目1"
上記を ListView1.DataBind() の下に配置したところ、正常に動作しました。
ありがとうございました。
ちなみに、この方法の他に LayoutTemplate をオーバーライドする方法も
あるようですが、どちらの方法が望ましいでしょうか?
0904nobodyさん
2010/03/06(土) 17:39:39ID:???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:???ListViewで何が出来るか、何をするものか勘違いしてる。
ListViewでは、何でも出来るけど、そのかわり自分で全部やらなきゃいけない。
0908899
2010/03/07(日) 16:52:11ID:???元々、>>899のようなことがしたくてListviewでBoundFieldみたいなもの
ないかなと思って本やネットで探していたのですが、どうもListviewには
BoudnFiledは無さそうでした。
ところが、>>901さんが「ListViewのDataBoundなりでやれば動くぞ」と
言われたので尋ねた次第です。
レス数が900を超えています。1000を超えると表示できなくなるよ。