【質問】ASP.NETスレ Part4【議論】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/07/17(火) 23:49:46ID:pyJr9yIyPart1 - 【質問】 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/
0733nobodyさん
2008/08/09(土) 12:11:37ID:???0734nobodyさん
2008/08/09(土) 15:17:16ID:x2zTbblsありです^^
助かりました^^
フィルタしておくようにします。
0735nobodyさん
2008/08/10(日) 01:07:18ID:???0736nobodyさん
2008/08/12(火) 08:16:55ID:???インデックス2にチェックを入れた時だけ
その横のテキストボックスをreadonlyにしたいのですが、ポストバック無しでやれる
スクリプトがわかる方いますでしょうか?
0737nobodyさん
2008/08/12(火) 08:21:17ID:???http://www.futomi.com/lecture/javacss/radio_disabled.html
0739nobodyさん
2008/08/14(木) 17:49:57ID:???GridView内のテンプレフィールドでDropDownListを置いた状態で
そのDropDownListが変更されたとき、その行番号取得してUpdateしたいんですけど
どうにかならないでしょうか?
0740nobodyさん
2008/08/17(日) 19:13:49ID:???VS2005でASP.NET2.0の開発をすることになりました。
基本的な画面構成として、画面左側に検索条件入力部があり、
画面右側に検索結果表示やその他の操作をする形になっています。
右と左を分けるのはマスタページにて行っています。
このうち、画面左側で入力された検索条件の処理を共通化しようと思い、
これをascx化(hogefind.ascx)し、各画面のaspxにてContentPlaceHolder内に配置しています。
また、OnLoad時の共通処理のため、Pageクラスを継承したHogePageクラスを作成しています。
ここで、HogePageクラスにてhogefind.ascxに関連付けられた?クラスhogefindを
オブジェクト変数として使用したいのですが、型がわからない、とされてしまいます。
どのようにすれば、このhogefindを認識できますか?
0741nobodyさん
2008/08/17(日) 19:57:45ID:???0743740
2008/08/17(日) 22:02:53ID:???ascxのユーザーコントロールにひもづいたクラスを使用するには?
ということが知りたいです。
dim hoge as hogefind
と書いても、hogefindという型は使えない、となります。
インテリセンスの候補にも出てこないのです。
0744nobodyさん
2008/08/18(月) 00:37:35ID:???0746740
2008/08/19(火) 10:15:10ID:???>>745
それは実施済なのです。
HogeFind.ascx:ユーザーコントロール
HogeFind.ascx.vb:ユーザーコントロールにひもづいたクラス
Class HogeFind
Inherits System.Web.UI.UserControl
HogePage.vb:pageクラスを継承した自作クラス(App_Code内に配置)
Public Class HogePage
Inherits System.Web.UI.Page
このHogePage中でのにHogeFindクラスのオブジェクト変数を使う方法がわからないのです。
dim hoge as HogeFind ← ここで型'HogeFind'は定義されていません、となる
0748740
2008/08/19(火) 13:05:13ID:???hogepageクラスはデザインに依存せず、
全画面の共通処理を定義しているため、
普通のクラスで作成しました。
aspxのコードビハインドからはHogeFindクラスは認識されますね。
通常のクラスからは使うにはどうしたらいいのか・・・
そもそもやろうとしてることが間違ってる・・・?
空っぽのaspxのコードビハインドのクラスを共通化クラスにしたほうがよいのかな。
0749nobodyさん
2008/08/19(火) 21:39:27ID:???新しく生成したら別物になっちまうからな。
0750nobodyさん
2008/08/19(火) 21:44:28ID:???0751nobodyさん
2008/08/19(火) 23:15:14ID:???まあそれやると他にも影響あるから微妙だけどな…
0752nobodyさん
2008/08/20(水) 05:09:23ID:???0753nobodyさん
2008/08/21(木) 03:19:39ID:???global::じゃなかったっけ?これはC#だけど・・・
0754nobodyさん
2008/08/21(木) 06:59:26ID:???名前空間とかそういう問題以前に。
0755nobodyさん
2008/08/21(木) 07:55:39ID:???0756nobodyさん
2008/08/21(木) 10:14:57ID:???1月前にASP.NET2.0の本を2、3冊買って読みました。
仕組みはわかったのですが、実際に何かを作って理解したい。
最初はどんなものから作ればいいでしょうか?
Hello World
0759nobodyさん
2008/08/21(木) 12:19:23ID:???とんでもなくばかにされてるなw
0760nobodyさん
2008/08/21(木) 12:22:09ID:???PHP+Smarty+Mysqlな感じでやってました。
ASPに関してはまったく素人なので、ご伝授お願いします。
別に馬鹿にしてませんよ。
私はsmartyが何なのか良く知らないのですが
ASP.NET的にいうと、hoge.aspxに相当するんですかね
phpスクリプトの方は、コードビハインドのhoge.aspx.vb(cs)でしょうか
今まで作られたコードを移植してみてはいかがですか?
使った事は無いですが、MysqlにConnector/NETとか言う
ADO.NET用ドライバもあるようですし
0762740
2008/08/21(木) 20:36:37ID:???WEBサイトモデルだと参照できないようですね。
微妙な制限だなぁ・・・
別の手段を考えることにします。
>>760
自分もLAMP+Smartyでずっとやってました。
自分もまだASP.NETを始めたばかりなので的確なアドバイスはできませんが、
PHPとは考え方を大きく変えないといけないと思います。
WEBの基本的な部分は忘れずに、あくまでイベントドリブンで作る、とかでしょうか。
Pageやコントロールのイベントの発生順序を把握すことが大事かと。
0763nobodyさん
2008/08/21(木) 22:51:06ID:???0764760
2008/08/22(金) 09:47:10ID:???>phpスクリプトの方は、コードビハインドのhoge.aspx.vb(cs)でしょうか
そんな感じで大丈夫と思います。
>今まで作られたコードを移植してみてはいかがですか?
そうですね。両者の違いを比較できるので面白そうですね。
>使った事は無いですが、MysqlにConnector/NETとか言う
>ADO.NET用ドライバもあるようですし
はい、mysqlのサイトにmysqlのODBCのドライバがありました。
ありがとうございます。
>>762
そうですよね。考え方全然違いますよね。
そこで考えちゃんですよね・・・
アドバイスありがとうございます。
イベントドリブン+イベントの発生順序を見てみます。
>>763
脳内変換お願いします!
0765nobodyさん
2008/08/23(土) 10:11:50ID:???ASPはじめて間もないのですが、DNS-LessでAccessに接続しています。
参照はできるのですが、レコードの書き込みや削除をしようとすると
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 指定されたテーブルから削除できませんでした。
/kensaku.asp, line 490
のエラーが出ます。
ソースは本のサンプルそのまんまなんですが、IISの設定か何かでしょうか?
0766nobodyさん
2008/08/23(土) 10:39:33ID:???ObjConn.Execute(StrSQL)
ここでエラー出ます。
0767nobodyさん
2008/08/23(土) 10:58:59ID:???コードもないのに原因がわかるエスパーはいない。
イントラ用途でもちゃんとしたDBつかったほうがいいんじゃないの。
フリーのでもいろいろあるんだし。
アクセスなんてロックもいいかげんでしょ。
0768nobodyさん
2008/08/23(土) 11:03:29ID:???ソースは下記。
ttp://www2.uploda.org/uporg1627366.zip.html
pass: asp
ちゃんとしたDBかー。
データベースをファイルとして持ち出せるのが素敵だなぁと思って、Accessを選んだんだけど、裏目に出たのかなぁ。
0769nobodyさん
2008/08/23(土) 11:24:17ID:???サンプルにAccess使うあたりちょっと古い本じゃないかと思ったが予感的中。
(asp.netだと気の利いた本は、まともなデータベース使って解説するから)
これ(新しい)asp.netじゃなくて(古い)aspだよね。ASPは別スレ。
もしasp.netが使えるならそっち使った方が開発は楽だよ。
便利な新機能多いし。
あとざっとしかコードは見てないけど、SQL文の生成で
文字列を連結して作るのはセキュリティ上、危険だとおも。
公開するWebサーバなら絶対やっちゃいけない書き方。
近頃、ハッキングされて個人情報漏洩する事件はだいたいが
SQLインジェクションでやられてる。
asp.netではSQL文に変数いれたいところはパラメータ化する。
旧ASPでのSQLインジェクション対策は知らない。
0770nobodyさん
2008/08/23(土) 11:48:04ID:???asp.net新機能
http://msdn.microsoft.com/ja-jp/library/fa1h9d0d.aspx
aspってマスタページも使えなかったんだな。
asp.net知ってしまうとaspは耐えられない不便さかも。
0771nobodyさん
2008/08/23(土) 21:44:48ID:???とりあえず、Visual Studio 2008 Express Editionsダウンロードしてきた。
一から作ります。
0772nobodyさん
2008/08/24(日) 03:23:33ID:???あっ、思い出した。
Me.LoadControlメソッドを使え。
0773nobodyさん
2008/08/24(日) 08:39:57ID:???0774nobodyさん
2008/08/24(日) 14:19:39ID:???初歩ですがw
それで、検索結果で、「何件ヒットしました。」みたいな件数を表示させたいんですが、どうすればいいんでしょう。
0775nobodyさん
2008/08/26(火) 18:55:45ID:???0776nobodyさん
2008/08/28(木) 02:29:35ID:2GEIcWF8参考書等を見ると、DropDownListやGridViewにデータをバインドさせるとき、
お約束のようにSqlDatasourceからデータを取得していますが、
みなさん、実際そうされていますか?
例えば、画面にDropDownListが10コあり、それぞれ異なるリストを表示する場合は
SqlDatasourceに限らず他のデータソースであっても、同じ数だけ配置されていますか?
プログラム側ででDataSourceプロパティにDataSetをセットする方が一般的?
0777nobodyさん
2008/08/28(木) 03:40:30ID:???理由は他のデータソース使うより楽だから。でも10個程度なら自分でDataSetかな・・・。
0778nobodyさん
2008/08/28(木) 06:13:04ID:???For i=∞
Next
でデータを表示させろ
0779nobodyさん
2008/08/28(木) 11:24:42ID:???0780nobodyさん
2008/08/28(木) 12:58:47ID:tcZ5Xl9oWebサイトモデルのその制限は、自作ユーザーコントロールに必要なインターフェイスを定義して、それをインプリメントしとけば型を参照できなくてもたいていのことはできるよ
0781nobodyさん
2008/08/28(木) 22:08:11ID:???0782nobodyさん
2008/08/29(金) 02:29:44ID:???画面に対応するDBとの接続を記述したクラスについて
どのように命名するのが一般的なのでしょうか。
例えば検索画面Search.aspx、Search.aspx.vbに対応する
DB接続用のクラスをSearch.vbとすると、
検索一般についてのクラスなのか、画面Search.aspxに対応するクラスなのか
わかりにくくなってしまうように思います。
ググってみたところではDAL_Search.vbのような
接頭詞DALが一件ありました。
0783nobodyさん
2008/08/30(土) 00:52:45ID:???編集フィールドのクリック→チェックボックスをクリック→更新
なら、すぐに作れるだけど、即チェックボックスを押してデータベースに反映させるのはどうしたらいいんでしょう。
0784nobodyさん
2008/08/30(土) 01:30:58ID:???0785nobodyさん
2008/08/30(土) 01:37:27ID:???表示上はチェックがついてもデータベースが更新されていないですが、UPDATEはどこで設定するんでしょう?
初心者ですみません。
0786776
2008/08/30(土) 12:17:07ID:???やっぱそうなりますかね。
デザイン画面に大量のSqlDataSourceがあるのが気持ち悪いなと。
それといまいちObjectDataSourceのメリットが見えててこない・・・
>>780
自分もそれ知りたいです。
0787nobodyさん
2008/08/30(土) 21:08:18ID:???チェックボックスのハンドラでデータデースの書き込みがよくわからん。
現在のGridViewの状態(checkBoxの状態)をDatabaseに保存するのってどうやるの??
0789nobodyさん
2008/09/01(月) 19:42:40ID:???<ItemTemplate>
<asp:Literal ID="Hinban" runat="server" Mode="Encode" Text='<%# DataBinder.Eval(Container.DataItem, "品番") %>'></asp:Literal>
</ItemTemplate>
</asp:Repeater>
は正しく動作するのですが、
これを UpdatePanel で括ると Container.DataItem がないと怒られてしまいます。
<asp:Repeater ID="Items" runat="server">
<ItemTemplate><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate>
<asp:Literal ID="Hinban" runat="server" Mode="Encode" Text='<%# DataBinder.Eval(Container.DataItem, "品番") %>'></asp:Literal>
</ContentTemplate></asp:UpdatePanel></ItemTemplate>
</asp:Repeater>
上手な回避策はないんでしょうか。
0790nobodyさん
2008/09/02(火) 00:11:14ID:vKzpFC6mソリューション配下に、Webアプリのプロジェクトが2つくらいあって、どちらのプロジェクトでも共通で参照できるようにWebアプリの上位に、CSSやJSなどのファイルを配置したいのですが。。。
IISの場合だと既定のWebサイト直下にCSSやJSを置いて、その下に仮想ディレクトリを作ってWebアプリを配置すると参照できるのですが、同じ構成をVS2008上でどうやってつくりあげたらよいのかがわかりません。
配置関係は以下の通りです。
テスト.sln
common.js
Webアプリ1 ←ASP.netプロジェクト
app_code
bin
・
・
Webアプリ2 ←ASP.netプロジェクト
app_code
bin
・
・
物理パスを同様にしておいても、この場合だと、commonのファイルが見えておらず、スクリプトの関数などを呼び出すとエラーになってしまいます。
IISで同じように配置すると・・・
既定のWebサイト
common.js
Webアプリ1
Webアプリ2
Webアプリ1からも、Webアプリ2からも、commonのファイルをちゃんと参照できています。
VS上ではどうやって配置したらよいのやら・・・。
参照設定とかApp_GlobalResourcesあたりでcommonのファイルを追加するのかなとも思ったのですが、それらしきものがなくて。。。
分かる方すみませんがご教授ください。
0791nobodyさん
2008/09/02(火) 00:16:16ID:???0792nobodyさん
2008/09/03(水) 12:47:18ID:???登録会員がWEB上で設定した時間とメールアドレス宛に、自動でメールを送るような使い方をしたいと思っています。
IIS5と.NETの組み合わせでこのようなメールの予約配信は可能でしょうか。
0793nobodyさん
2008/09/03(水) 13:56:44ID:???0794nobodyさん
2008/09/03(水) 22:54:53ID:???0795nobodyさん
2008/09/04(木) 10:36:37ID:???0796nobodyさん
2008/09/05(金) 02:44:22ID:???フォームで日にちと時間を指定して
その日時にメールを送信したいのですが、
cronとやらを使うのが一般的なやりかたですか?
よろしくお願いします。
スレ違いだったらごめんなさい。
お前らがちゃんと答えてやらないからPHPスレにきたじゃないか
0797nobodyさん
2008/09/05(金) 08:24:59ID:???ワロタ
キューイングと送信ロジックを裏で動かす算段がついていれば、
悩む必要ないことだって分かると思うんだがなぁ。
0798nobodyさん
2008/09/05(金) 09:12:57ID:eF6Wfezu0801nobodyさん
2008/09/05(金) 21:51:13ID:A2hsdpgy0802nobodyさん
2008/09/05(金) 22:04:28ID:???0803nobodyさん
2008/09/05(金) 22:26:47ID:???0804nobodyさん
2008/09/08(月) 22:30:56ID:lqDRVsX6テキストボックスの初期色:白
ボタン1押下イベント:テキストボックスの色を青にする
ボタン2押下イベント:指定なし
Page_PreInitからPage_InitCompleteの各処理:テキストボックスの色を黒にする
上記の条件で以下のイベントを実行します
1.画面表示
2.ボタン1押下
3.ボタン2押下
自分の想定では、1.黒→2.青→3.黒だと思ったのですが、実際は
1.黒→2.青→3.青となります
3.ボタン押下で確かにテキストボックスを青くする処理が走っているのに
なぜ画面に反映されないのでしょうか
また、Page_Loadで黒くする処理を行った場合
ボタン押下イベントよりも後にPage_Loadが走るにも関わらず、色は青いままです
イベントと画面表示の関わりに肝がありそうな気はしますが、
ググッても出て来ませんでした・・・なぜでしょうか
0805nobodyさん
2008/09/09(火) 01:26:47ID:???>ボタン押下イベントよりも後にPage_Loadが走る
Page_Loadの後にRaisePostBackEventが走るだろ。
0806804
2008/09/09(火) 08:02:23ID:???説明を間違えました
ボタン2押下時は何もしないのですが、Page_PreInitからPage_InitCompleteで
黒くしているの処理は通っているのでなぜ黒くならないのか、という疑問です
>Page_Loadの後にRaisePostBackEventが走るだろ。
RaisePostBackEventですか…この処理で何かやってるという事でしょうか
調べてみます、ありがとうございました
0807nobodyさん
2008/09/09(火) 22:31:10ID:???0808804
2008/09/09(火) 22:52:14ID:???よく分かっていません
RaisePostBackEventについてもググってみましたがめぼしい情報は出てきませんでした
なんとなく最も基本的なところだと思うんですが入門サイトを見ても
記述が無いし、イベントの処理順とかコントロールの使い方とかばかり…
0809nobodyさん
2008/09/11(木) 00:25:15ID:R125hntO<やりたいこと>
UpdatePanelのなかにドロップダウンリスト1とドロップダウンリスト2とボタンが入っています。
最初の状態ではボタンはenabledがfalseになっているものとします(つまり押せない状態)。
まず、ドロップダウンリスト1を変更すると非同期ポストバックで、ドロップダウンリスト2の
選択肢を増やします。その後、ドロップダウンリスト2の値を変更(SelectedIndexChanged)すると
非同期ポストバックでボタンのenabledをtrueにします。
その後、ボタンを押すと、非同期ポストバックではなく、通常のポストバックを起こし、ページ内容を更新します。
</やりたいこと>
というわけなんですが、最後のボタンを押す部分で、ボタン自体がUpdatePanelの中に入っているので通常のポストバックが起きません。
UpdatePanel内のコントロールでも強制的に通常のポストバックを起こさせることは可能なのでしょうか?
根本的なことを勘違いしているかもしれませんが、どうぞよろしくお願いいたします。
0810nobodyさん
2008/09/11(木) 09:12:43ID:???アイテム変更イベントでボタン有効可否を切り替えるJavascriptを書く。
0811809
2008/09/11(木) 23:58:54ID:???なろほど。確かにそれでいけそうですね。
UpdatePanel内でもコントロールまたはそのイベントで同期させるか非同期させるか簡単に選択できたらいいのに・・。
ありがとうございました。
0812nobodyさん
2008/09/20(土) 14:34:00ID:???ユーザーコントロールを作って、色々なページで使い回したいけれど
ユーザーコントロールのTextBoxの値をSqlDataSourceの条件に設定するには
どのように行なえばいいのでしょうか?どの画面からも設定できなくて・・・
0813nobodyさん
2008/09/20(土) 15:00:24ID:???0814nobodyさん
2008/10/09(木) 14:25:18ID:???とあるサイトで、ログアウトボタンを押すとcookieは削除され、ブラウザ上では破棄され
た様に見えるのですが、cookieの内容を送りつけるとログイン状態を復元できるのです。
その後再ログインして別セッションを得ても、前回のセッションIDも有効という変な仕様。
(早い話が2重ログインOK)
自前のサイトは、ログアウト時にはサーバー側でもセッションを破棄。再利用不可。
やっぱりIPA行きでしょうか。
0815nobodyさん
2008/10/09(木) 15:00:00ID:???sesstion.requesttimeout = 60*24*365と書いとけ
0816nobodyさん
2008/10/10(金) 14:35:33ID:???実行するとめちゃめちゃ荒くなってるんですが、これはしょうがないのでしょうか?
IE8だとデザインのまま見えて、IE7とか6だと荒れる状態で、IE6とかでもデザインのまま見えるようにしたいのですが・・・
0817nobodyさん
2008/10/11(土) 01:15:38ID:???認証の方だろ?
0818nobodyさん
2008/10/11(土) 15:01:51ID:???そんなのはただたまたまこれまでに多いやり方だっただけだ。
0819nobodyさん
2008/10/11(土) 15:37:05ID:???0820nobodyさん
2008/10/14(火) 09:10:23ID:???つど、ワンタイムトークン発行する方法もあるけど。
0821nobodyさん
2008/10/14(火) 21:50:51ID:???0822nobodyさん
2008/10/14(火) 21:52:26ID:???もちろん使うやり方もありうるし、場合によってはそれが望ましいこともある。
でも常にそうやるようなもんじゃない。
0823nobodyさん
2008/10/14(火) 22:22:31ID:???当然、クッキー使うにしてもセッションID使うにしても、鯖でも管理するよなと聞きたかった。
有効期限をクライアント側に一任しないよな、という意味で聞きたかったんだ。すまん。
0824nobodyさん
2008/10/15(水) 01:27:14ID:???0825nobodyさん
2008/10/15(水) 01:28:04ID:???0826nobodyさん
2008/10/15(水) 01:30:34ID:???ステート維持に必須になるような状態はできる限り持たない主義。
0827nobodyさん
2008/10/17(金) 03:38:54ID:???0828nobodyさん
2008/10/17(金) 08:58:27ID:EdczhNrKXP proで安定動作してるんだけど、2000serverに換える利点ってあるかな?
セッション数くらい?
0829nobodyさん
2008/10/18(土) 00:44:22ID:???0830nobodyさん
2008/10/18(土) 01:51:00ID:???TCPIP.SYSの接続数の問題がある罠
0831nobodyさん
2008/10/18(土) 02:07:40ID:ILpwoZPF0832nobodyさん
2008/10/23(木) 14:55:33ID:???http://ime.nu/www.atmarkit.co.jp/fdotnet/dotnettips/561aspajaxprepare/aspajaxprepare.html
ここを参考にしてASP.NET AJAX Control Toolkitをサーバ上に組み込み、ファイルをアップロードして実行したところ、以下のようなエラーが出ました。
ファイルまたはアセンブリ 'AjaxControlToolkit'、またはその依存関係の 1 つが読み込めませんでした。アクセスが拒否されました。
サイトルートのbinフォルダにAjaxControlToolkit.dllはありますし、ファイルが壊れているということもありません。
にも係わらずこのようなエラーが出てしまいます。
ローカルのPCでは正常に動作するのですが…。
原因をご存知の方はいらっしゃいますでしょうか。
開発環境はVisualStudio2005 Standardです。
■ このスレッドは過去ログ倉庫に格納されています