1 名前:nobodyさん [2007/07/17(火) 23:49:46 ID:pyJr9yIy] ●過去ログ Part1 - 【質問】 ASP.NETスレ 【議論】 pc5.2ch.net/php/kako/1040/10406/1040698263.html 【質問】ASP.NETスレ Part2【議論】 pc8.2ch.net/test/read.cgi/php/1111480331/ 【質問】ASP.NETスレ Part3【議論】 pc11.2ch.net/test/read.cgi/php/1160355849/
227 名前:216 mailto:sage [2007/10/23(火) 01:51:24 ID:???] >>223 なるほど。 >>W3Cはframeに対して否定的な動き 盲目的に信じるのもあれですがW3Cが推奨しないということは やはりそれなりの理由があるんでしょうね。 >>VS2003では選択できたフレームセットのテンプレートはVS2005 2005でなくなっていてびっくりしました。 やはりVSとしても推奨しない動きなんでしょうね。 今回とりあえずフレームで実装したのですが変更した方がよいでしょうね。 だとしたら>>216 >>220 に内容は書きましたがフレームを使用することで 画面上部に検索条件入力フォームを「常に」表示させていたのですが これをフレームを使用せずに用件を満たす必要があります。 フレーム無しで画面上部に常に表示させていたいコントロールを配置する場合 どうすればよいでしょうか? 常に表示させておく必要がなければvisibleあたりを制御するだけでよいのですが。。 >>225 これは>>226 さんと同じく気になります。 どういう意味でしょうか?
228 名前:216 mailto:sage [2007/10/23(火) 02:32:53 ID:???] すみません全く別の質問よいでしょうか? 検索結果一覧の画面を作成するためにどのコントロールを採用すればよいかお教えください。 目的は以下のサイトのようなビューです。 ttp://www.st-image.com/12/13/itemlist.aspx ・ページングあり ・単純な行での一覧表示ではなく、横→縦にデータが並んで表示される 試したこと ・GridView 横に並んで表示できない ・DataList 自前でページング処理を記述する必要があり ・DetailsView & FormView 1レコードずつしか表示できない 一件DataListでもなんとかなると思うのですが自前で毎回全件を取得しないように気をつけたページング 処理を記述する必要があると言うところが腑に落ちません。 DataViewですとObjectDataSourceとObjectDataSourceのSelectedMethodを連携させることで ページング処理を簡単に書くことができます。 なのにDataListでわざわざ自前でページング処理を書かなければならないというのが違和感です。 こういうサイトはどのようなコントロール&処理を実装しているのでしょうか?
229 名前:nobodyさん mailto:sage [2007/10/23(火) 11:13:34 ID:???] >>227 まず、海外も含めてインターネット上で公開されているWebサービスで上部にボタンなどが固定されている 実例が少ないことを考えれば固定する必要がなくても使いやすいシステムはできると言うことを念頭に置くべきです。 「画面内に必要な情報を集める」とか「検索処理をした後に検索のテキストボックスが常に見えている必要があるのか?」とか それでも固定することにメリットがあると思うのならCSSで[overflow:autoとかposition:fixed(IE6対応にはjavascriptが必要)] ttp://msdn2.microsoft.com/ja-jp/library/default.aspx (リキッドレイアウトにも対応) は、数ある方法の無難な良い例になるので自分で解析してください。 Firefoxにfirebugアドオン入れれば解析も楽なはず。 もしくは、前のレスで言った「フレームを使う」事によってしか生まれないメリットを追求する。 各画面に同じレイアウト書かなきゃならんと言う開発側の問題はVS2005ならマスターページで解決する。 >>228 ObjectDataSourceを使ってる場合、GridViewだろうとページングの見た目は作成されるが処理は自前だけど。 SqlDataSourceなら処理部分まで自動で処理してくれるが、ボトルネックとか拡張性に問題があるので使い道はあまり無いが。 >処理を記述する必要があると言うところが腑に落ちません。 ASP.NETは魔法の杖じゃないから、普通にCGIで考えれば「必要な件数をDBから取得して」「必要な件数を表示する」と言うの は当然でGridView+DataSourceはそれを処理しやすくなっているに過ぎないし。 だから、技術が無い・手軽になら既存のコントロールをベースにデザインを考えるしかない。 逆なら、クラスを継承するなり、カスタムコントロールなりで拡張すればいいだけ。 フレームワークの基本だと思うんだけどね。 1.ページング表示部を自作してDB検索してDataTableを作って「Repeater」コントロールで<div style="float:left;">を出力もしくは DataListのDataSourceにDataTableを設定まで自分で作る。(中途半端にDataSourceなどの繋ぎに拘ると面倒になるので) 2.DataListを拡張(ユーザコントロール、カスタムコントロール)してDataSourceと連動するように作る。 (ググればカスタムコントロールを作っている人も良そうだが)
230 名前:nobodyさん mailto:sage [2007/10/23(火) 11:57:47 ID:???] Javascriptでaspを呼び出すことはできるのでしょうか。 Javascriptでクッキー処理 −引数つけてASP呼び出し→ ASP処理 → ASPでJS書き出し という感じのことをやりたいのですが。
231 名前:230 [2007/10/23(火) 11:58:30 ID:35vpnyji] age忘れましたすみません。
232 名前:nobodyさん mailto:sage [2007/10/23(火) 13:19:48 ID:???] >>230 引数つけてASP呼び出し location.href('www.aaa.aspx?a=1 ') 他は省略 >Javascriptでクッキー処理 −引数つけてASP呼び出し→ ASP処理 → ASPでJS書き出し ってか、この各処理は同一のaspxでの話しを想定してるの? クッキー処理はASPへのデータ引渡しの為に使うの? つうか、ASP.NET以前に、「HTMLとCGI」の値の受け渡しに利用しようとしているんであれば クライアントとサーバの切り分けが出来ていないように感じるんだがその辺は大丈夫? そう感じた理由に「本来ならPostを基準にデータを取得する所をPostデータの管理を便利にする為 にCookieを利用している」と切り分けが出来てるなら、ASP.NETの基本概念を見ればどの様に変化 したかがわかると思うんだよね。
233 名前:216 mailto:sage [2007/10/24(水) 00:36:46 ID:???] >>229 ・フレームについて 回答ありがとうございます。 >検索処理をした後に検索のテキストボックスが常に見えている必要があるのか? 通信販売等のサイトで使い勝手を確認したところおっしゃるとおり「ない」です。 常に見えていないことが特に気になりませんでした。 急遽フレームを使う仕様を変更しました。 ご指摘ありがとうございました。 ・ページング処理可能なビューについて GridView+ObjectDataSourceがページング処理を記述しなくてもよいという表現は誤りでした。 おっしゃるとおりデータ取得部分は自前です。 GridView+ObjectDataSourceがページング処理の見た目の処理を備えていたので 他にもこういう機能がないのかと思ったのですが甘かったみたいです。 手軽に、というのも理由の一つですが堅実なものを作成したいので既に備えている機能をわざわざ 実装するのは避けたかったため質問させていただきました。 素直に自作します。 今回は「2.DataListを拡張〜」を行いたいと思います。 Webに関しては特にわからない部分が多いため質問のレベルも低いかもしれませんでしたが、 重ね重ねありがとうございます。
234 名前:216 mailto:sage [2007/10/24(水) 02:25:50 ID:???] 当初>>216 にてお尋ねしましたが フレームは使用しなくなったことで別フレームへ動的に作成されたWHERE区を 渡す必要はなくなりましたが、 以前と同じくWHERE区をObjectDataSourceのSelectedMethodで指定された メソッドに渡す必要があります。 以前は別フレームに文字列渡すから仕方なくSession変数に複数の条件から作成した WHERE区を入れておいて、ObjectDataSourceのSelectedMethodで指定された メソッド内でFill()する前にSession変数から取り出せばよいと考えていたのですが、 同じページ内のコントロールからWHERE区を作成するだけなのにSession変数を 使用するのに違和感を感じてきました。 もっと簡潔な方法ありませんか? ・フレームは使用していない単一ページ ・検索ボタンは検索したい方法が2つあるため、ボタンが二つある (TextBox1つと検索ボタンで構成されたALLサーチ機能と細かい条件を指定するための多数の入力コントロールと詳細検索ボタン) ・SelectedMethod内でWHERE区を動的に作成しようとするなら、どちらのボタンが押されての検索かわからないため、 SelectedParameterに全ての入力コントロールをずらずらと並べることはできない SelectedMethod内でどちらのボタンが押されての処理か判断できないと思われるため ・ボタンのイベントでそれぞれ動的にWHERE区を作成し、Session変数に格納し、 SelectedMethod内で受け取るという処理はトリッキーな方法に感じる 本件はSession変数を用いてデータの受け渡しをすることが一般的な処理方法でしょうか? 勉強で作成していますので動けばいい、というものを作ることはできないため 確認させてください。 「ObjectDataSource SelectedMethod 動的 WHERE」辺りの検索ワードでは 今回のケースにあたるような情報を見つけ出すことができませんでした。。
235 名前:nobodyさん mailto:sage [2007/10/24(水) 02:28:26 ID:???] >>225 同一セッションのリクエストは直列化されるってことだよ。
236 名前:nobodyさん mailto:sage [2007/10/24(水) 03:00:01 ID:???] フレーム分割することによりユーザービリティが低下することって考えられないけどねぇ・・・。 検索エリアを固定を常表示することで解決できるけど、それならFrameでいいじゃんと思んだけど・・・。 あらゆる場面を検証したW3Cに反論する気はないけど、規約に反するからって単一画面で描画の 遅いメニュー表示されたら余計にイライラするけどwww
237 名前:nobodyさん mailto:sage [2007/10/24(水) 12:38:49 ID:???] >>234 1.SelectMethodに全ての条件+処理フラグの引数を作る。 2.SelectedParameterに項目+ボタン区別用のhiddenをControlParameterとする。 3.ボタンを押されたらASP側のクリックイベントでhiddenにフラグをセットする。 4.ObjectDataSourceの中身で処理フラグによって処理を分ける。 「2.」「3.」はSelectParametersをasp:Parameterにしておいて動的に変更すれば hidden項目自体要らない。
238 名前:nobodyさん mailto:sage [2007/10/24(水) 16:35:10 ID:???] 質問者に対する回答でもなくて、 ユーザービリティを自分が経験した事だけでしか想像できなくて、 わけ分からん描画の遅い早いを持ち出す、 的外れてる奴が出てきたなと。
239 名前:nobodyさん mailto:sage [2007/10/24(水) 23:22:33 ID:???] お前ら全員死ねよ
240 名前:nobodyさん mailto:sage [2007/10/24(水) 23:27:23 ID:???] 過激なやつだ…
241 名前:nobodyさん mailto:sage [2007/10/25(木) 21:16:47 ID:???] お前ら全員愛してる
242 名前:nobodyさん mailto:sage [2007/10/25(木) 21:39:46 ID:???] キスして
243 名前:nobodyさん mailto:sage [2007/10/26(金) 00:57:34 ID:???] 屁こいてやったぜ
244 名前:nobodyさん mailto:sage [2007/10/26(金) 15:36:23 ID:???] MSDN2みたいに、メニューバーエリアを選択したら、そのメニュー項目が Popupメニューのようにフェードイン・フェードアウトして一覧表示される にはどうすればよいですか?
245 名前:nobodyさん mailto:sage [2007/10/26(金) 17:05:56 ID:???] >>244 1.MSDNのjavascriptを解析して組み込む。 2.Popup Menuのjavascriptライブラリを利用する。 ASP.NETの場合は、HTML上に表示されるコントロールID(ClientID)をライブラリに割り付ける方法は考える必要があり。 3.ASP.NET AJAX Control ToolkitのPopupControlExtenderを利用する。 ASP.NETのほかのサーバコントロールと同じように作成できるが、 Javascriptが隠蔽されるとか、コントロールの使い方を覚えないといかないはとかで理論が分かりにくい。 PopupControlExtenderの場合は<Animations>にこんな感じで指定すれば動く。 <Animations> <OnShow> <Sequence> <StyleAction Attribute="overflow" Value="hidden"/> <StyleAction Attribute="height" Value="0"/> <StyleAction Attribute="width" Value="0"/> <HideAction Visible="true" /> <Parallel Duration=".2" Fps="15"> <Resize Height="50" Width="125" Unit="px" /> </Parallel> </Sequence> </OnShow> <OnHide> <Sequence> <StyleAction Attribute="overflow" Value="hidden"/> <Parallel Duration=".2" Fps="20"> <Resize Height="0" Width="0" Unit="px" /> </Parallel> <StyleAction Attribute="display" Value="none"/> </Sequence> </OnHide> </Animations>
246 名前:216 mailto:sage [2007/10/27(土) 14:04:47 ID:???] >>237 この方法で実装できそうです。 前から気になっていたのですっきりしました。 「asp:Parameter」という部分が理解できませんが別途調べますね。 ありがとうございます。
247 名前:nobodyさん mailto:sage [2007/10/27(土) 17:04:02 ID:???] >>246 SelectedParameter <asp:Parameter Name="flg" Type="String" /> ボタン1処理 ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理1" ボタン2処理 ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理2" とすれば、hiddenを経由しなくても動的に値を変化させられる。 hiddenの方がコントロールを経由するので直感的かもしれんが、 無駄なhiddenを作る必要が無かったりするので。
248 名前:216 mailto:sage [2007/10/28(日) 16:18:54 ID:???] >>247 せっかくヒントをいただいたので自分で調べようと思っていたのですが ご丁寧にありがとうございます。 <asp:Parameter> というのはGUIで作成するところで言う パラメータソースが「None」のものですね。 Noneてどういう時に使うのかと思っていました。 こちらを組み込んだところ無事動作が確認できました。 ありがとうございました。
249 名前:nobodyさん mailto:sage [2007/10/29(月) 00:16:00 ID:???] ASP.NETの勉強サイト、またはTips集のサイトを教えてください!!!
250 名前:nobodyさん mailto:sage [2007/10/29(月) 00:54:42 ID:???] >>249 Tips集というかサンプル集 ttp://www.friendlysw.com/knowhow/knowhow.asp ここのASP.NETサンプル とか。 勉強サイトについては聞き方として漠然としてよろしくないと思います。 ttp://www.google.co.jp/search?hl=ja&q=ASP+%E8%A7%A3%E8%AA%AC&lr=
251 名前:nobodyさん mailto:sage [2007/10/29(月) 01:47:16 ID:???] >>249 ほとんど分からないのなら 一通りの機能には触るので>>2 のMicrosoft ASP.NET クイック スタート チュートリアルを最初の項目から順 にやっていくといいよ。 ただ、>>2 のリンクはasp.net 1.1版なので2.0の場合は web上では公開されて無いので「ASP.NET 2.0 クイック スタートチュートリアル」をインストールしてみるといい。 最低限このクイック スタート チュートリアルの内容が 全て分かって無いとTips集なんか見ても理解できないかも。
252 名前:nobodyさん mailto:sage [2007/10/30(火) 12:03:08 ID:???] >>250-251 ありがとう。
253 名前:nobodyさん [2007/10/31(水) 06:14:37 ID:Ln67m40J] テキストボックスに入力されている文字列が数値かどうか判断するために ReularExpressionValidatorを利用しています。 VaridationExpressionプロパティに「^[0-9]+$」を設定したのですが 半角スペースをのみを入力した場合IsValidateがTrueを返してしまいます。 半角スペースが入力された場合の対応としてはどういう対処が必要でしょうか?
254 名前:nobodyさん [2007/10/31(水) 08:47:21 ID:KCIK9HQ4] SQLServer2005への接続文字列で DateSource:サーバー名\SQLEXPRESS とSQLEXPRESSを付けないと接続できないけどこれは変更できるのでしょうか? それともEXPRESS Editionを使用しているからでしょうか?
255 名前:nobodyさん mailto:sage [2007/10/31(水) 10:48:10 ID:???] >>254 DBMSのインストール時に名前付インスタンスにしてしまったら無理 既定のインスタンスでインストールすればインスタンス名無しでいける Books On Lineをインストール前に入手して読めばわかることなんだけどね
256 名前:nobodyさん mailto:sage [2007/10/31(水) 12:52:23 ID:???] >>253 function RegularExpressionValidatorEvaluateIsValid(val) { var value = ValidatorGetValue(val.controltovalidate); if (ValidatorTrim(value).length == 0) return true; var rx = new RegExp(val.validationexpression); var matches = rx.exec(value); return (matches != null && value == matches[0]); } function ValidatorTrim(s) { var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); return (m == null) ? "" : m[1]; } 上から分かるように、Validatorはスペースのみと入力なしを区別してないので、 ASP.NET側の処理もTrimするなりで合わせとくとか、CustomValidator(ValidateEmptyText="True")で 自作するとか、Javascriptで同じfunction名で処理を上書きして書き換えちゃうとか色々。 >>254 ASP.NETと関係ないし。 www.microsoft.com/japan/msdn/sqlserver/express/ssesecurity.aspx こことか参考にして理解した上で好きなようにしてください。
257 名前:nobodyさん [2007/10/31(水) 14:35:49 ID:KCIK9HQ4] >>255 勉強になりました。
258 名前:nobodyさん mailto:sage [2007/11/04(日) 02:42:02 ID:???] gridviewのrowを編集モードにして、値を入力する際に、 Javascriptを使用して、winodw.openで子ウィンドウを開いて、 そこから値を選択し、親windowの編集モード中のrow内のtextbox1に、 子Windowsで取得した値を入れたいのですが detailviewには下記のようにして値を直接入れられるのですが、 −子windowで値選択時のコード− Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged Dim str As String = GridView1.SelectedRow.Cells(1).Text Dim strScript As New System.Text.StringBuilder strScript.Append("<script language=javascript>") strScript.Append("window.opener.document.form1.DetailsView1$TextBox1.value = " & str & ";") strScript.Append("</script>") RegisterStartupScript("window", strScript.ToString) End Sub gridview内のtextboxに入れようとすると strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";") というように編集中のrow数を指定すれば入れられるのですが、 これはどうかと思い、別方法を考え 親側のform1内にhiddenコントロールを配置し、そこに値を渡してポストバックして、 page_loadでそのhiddenコントロールの値を編集中のrowのtextbox1に渡すことを考えたのですが 編集中のrow内のtextbox1への値の入れ方が分かりません。 page_load内にどのように書けば編集中のrow内のコントロールに値を渡せるでしょうか?
259 名前:nobodyさん mailto:sage [2007/11/04(日) 18:41:36 ID:???] 今手元に本がないので曖昧なのですが、 「Sessionには、〜と、シリアル化できるオブジェクト(?)を渡す事ができる」 と書いてあったと思います。 シリアル化とはどういう意味なのでしょうか?? あとエラー処理で 「エラーは多数の行のコードをtry,catchで囲むのではなく、エラーの起きる可能性のある 行を1行ごとにtry,catchで囲むのが良い」 と書いてあったように思います。 もし、1行ごとに囲むならば、Exceptionの詳しい内容を調べる必要があると思いますが、 Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。 よろしくお願いします。
260 名前:nobodyさん mailto:sage [2007/11/04(日) 20:56:58 ID:???] >>258 TemplateFieldを使って無いのならば、例外処理とか除いているが CType(gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0), TextBox).Text = "aaa" >>strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";") >>というように編集中のrow数を指定すれば入れられるのですが、 >>これはどうかと思い、別方法を考え row数を指定するんではなくて、 gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0).ClientID で現在編集中の行のHTML上のテキストボックスの名前が取得できるので この値を利用してJavascriptを作り出せばhiddenコントロールもいらないと思う。 >>259 >>シリアル化とはどういう意味なのでしょうか?? e-words.jp/w/E382B7E383AAE382A2E383A9E382A4E382BA.html .NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。 例)DataTable msdn2.microsoft.com/ja-jp/library/system.data.datatable (VS.80).aspx msdn2.microsoft.com/ja-jp/library/system.data.datatable_members (VS.80).aspx ちなみに、セッションがInProcモード なら、シリアライズ不可能なオブジェクトも セッション変数に格納できます。 >>Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。 例外が発生する可能性のあるクラスのメソッドをMSDNで調べてください。 例)System.IO.File.Delete メソッド msdn2.microsoft.com/ja-jp/library/system.io.file.delete (VS.80).aspx
261 名前:nobodyさん mailto:sage [2007/11/04(日) 21:21:19 ID:???] >.NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。 違うだろ。
262 名前:nobodyさん mailto:sage [2007/11/04(日) 22:13:07 ID:???] >>261 今まで大した質問にも答えてもいないのにこう言った 揚げ足とりにだけ必死にならずに説明すりゃいいのに。 ISerializableが必須で無い理由など詳しく説明してあげてくださいな。
263 名前:nobodyさん mailto:sage [2007/11/04(日) 22:20:10 ID:???] >>260 ありがとうございます ISerializableインターフェイスですか! セッションInProcモード初耳でした エラー処理は一つ毎にExceptionを書くと面倒なことになりそうですね みなさん(というか実際の業務では)どう書いているんだろう・・・
264 名前:nobodyさん mailto:sage [2007/11/04(日) 23:02:03 ID:???] ISerializableはシリアライズ処理のカスタマイズ用インターフェイス。 シリアライズ可能であることを示すのはSerializable属性。 ISerializableを実装しててもSerializable属性がついてなきゃシリアライズ不可。 ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。 独自のシリアライズ処理を行いたい場合のみISerializableを実装する。 これで満足か?
265 名前:nobodyさん mailto:sage [2007/11/04(日) 23:04:46 ID:???] >今まで大した質問にも答えてもいないのにこう言った >揚げ足とりにだけ必死にならずに説明すりゃいいのに。 必死て、ていうか揚げ足じゃなくて間違ってんだろうに。 まあ俺は困らんけど>>259 は困るんじゃないのか?
266 名前:nobodyさん mailto:sage [2007/11/04(日) 23:10:40 ID:???] >ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。 あと、これはメンバが全部シリアライズ可能な場合など制限はある。 あと基底でISerializableを実装してる場合は派生でオーバーライドしなきゃならない場合もある。 あとInProcだと確かにシリアライズできなくてもいいんだが、 なんというか後々のことを考えるとシリアライズできるもののみにしといた方がいい。
267 名前:nobodyさん mailto:sage [2007/11/04(日) 23:12:34 ID:???] >>265 いやだから揚げ足だろうが実際間違ってようが 間違ってるって言いたいならそれを書けよって言われてるんだろ? 「違うだろ」ってだけ書いてもなんの解決にもならないから。 261で違うだろっていって、そのままそこに何が間違ってるか回とけば良かったんだよ。 言われてから後発でこれでどうだって言うぐらいなら最初から言えよって話なんじゃないの。 なんにせよ無駄な時間だろ? >>261 の時点で理由も書いてりゃ>>262 自体存在しねえんだから。
268 名前:nobodyさん mailto:sage [2007/11/04(日) 23:32:13 ID:???] >>264 満足です。 まぁ、本当は「ISerializableを実装して無くてもSerializable属性が ついてればシリアライズ可。」の揚げ足取ろうとしてたら、>>266 で 多分、>>261 ?が補足していたので消したけどね。 >>265 個人的にはSerializable属性を付ければシリアライズされますと言うのは >>266 のように単純では無い事もあるので、>>259 がここら辺をあまり理解 していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ する過程を調べてもらおうと思ったんだがね。 だから、ISerializableインターフェイスを実装しているものが、セッションに 入れられますと言ったつもりは無いんだがまぁ、間違ってるといわれれば 仕方ない文章なのはすまない。 このスレ盛り上げようと、ほとんどの質問に答えてたのだが、もう少し勉強 しないと駄目だなw
269 名前:nobodyさん mailto:sage [2007/11/05(月) 00:02:19 ID:???] >>265 意味不明。俺にとっては>>261 の方がただの横槍なのか、 指摘してるのか分からんだけ>>259 が困ると思うけどね。 そもそも掲示板なんて間違いを教えられる可能性もある事が 前提なんだから自分で調べるのは基本だろ。
270 名前:nobodyさん mailto:sage [2007/11/05(月) 00:36:53 ID:???] そうか? 違うだろ、があるのと 何も無いんじゃ、 これから調べるにしても少なくともないより間違いにくいと俺は思うけど。
271 名前:nobodyさん mailto:sage [2007/11/05(月) 00:38:04 ID:???] >>266 のように単純では無い事もあるので、>>259 がここら辺をあまり理解 していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ する過程を調べてもらおうと思ったんだがね。 こういうのは、お前が思ってるだけで特に分からないヤツには明確に書かてあげないと意図伝わらないだろ。
272 名前:nobodyさん mailto:sage [2007/11/05(月) 00:40:15 ID:???] >>265 は>>262 の後半のつまり説明しろに対して書いたんじゃなくて 余計なこというな、に見えた部分に対して書いたんだすまん。
273 名前:nobodyさん mailto:sage [2007/11/05(月) 00:46:15 ID:???] 今は大丈夫っぽいけど昔はシリアライズからみは間違った解説がいっぱいあったからな〜 XmlシリアライズするためにSerializable属性が必要とかISerializable実装するとか Serializable属性ついてるのにXMLシリアライズできないバグがあるとか 上で出てきた話とかいろいろいろいろw
274 名前:253 mailto:sage [2007/11/05(月) 03:13:44 ID:???] >>256 ASP.NET側とJavaScript側で動作が違うので CustomValidatorを使用して自作することにします。 ありがとうございました。
275 名前:nobodyさん mailto:sage [2007/11/05(月) 08:54:54 ID:???] >>270 ないない そもそも、「これから調べるにしても少なくともないより間違いにくい」とか 思ってる奴なら詳細を説明しようとするもんだ。
276 名前:nobodyさん mailto:sage [2007/11/06(火) 06:57:01 ID:???] これで満足か? きめぇwwwwwwwwwwwww
277 名前:nobodyさん mailto:sage [2007/11/06(火) 18:19:56 ID:???] 既出かもしれませんが、とりあえずこのスレのはじめからは読みました。 PageA⇒PageB⇒PageA' と遷移したとき、PageA'に戻ったときに、 PageAの状態をそっくりそのまま復元する方法は、はやりViewStateを Sessionに保存するのが一番いい方法でしょうか? いろいろ探して d.hatena.ne.jp/entlib/20070221/1172058201 をみつけたのですが、 どうもASP.NET Ajaxを使用しているせいか、 「このページ状態は無効です。壊れている可能性があります」 とエラーが表示されてしまいます。 ヒントとなるようなソースもしくはサイトをご存知でしたらご教授いただけると助かります。 また、個別のコントロールをSessionに保存する方法でも結構です。 どうぞよろしくお願いします。
278 名前:nobodyさん [2007/11/06(火) 18:25:38 ID:zErdHZrx] ↑環境を記述するのを忘れていました。 開発環境 WindowsXP Pro VS2005Pro C# ASP.NET Ajax です。 初代VS.NETからサポートに入っていますが、今だによく分かっていませんorz
279 名前:nobodyさん [2007/11/09(金) 08:54:04 ID:AOsg/er1] VS2005のASP.NET(VB.NET)でWebページを作っています。 デフォルトの設定だと半角の「\」(円マーク)が出ないので、globalizationをShift_jisにしたのですが、 今度は全角の「〜」(波線)が?になってしまいます。 ASPで作っていたときは特に表立った問題は起きなかったのですが、ASP.NET下で両立させる 設定はできないのでしょうか? OSはWinXPと2K、ブラウザはIE6です。 パッチ類は一通り当たっている状態です。
280 名前:nobodyさん mailto:sage [2007/11/09(金) 23:45:36 ID:???] ¥
281 名前:nobodyさん [2007/11/10(土) 21:52:12 ID:IaYZNmi9] 〜(波ダッシュ)は化けないでしょ。?全角チルダ(XPや2Kでは下がって上がる波の形)は駄目だけど。 UTF-8でも5Cをバックスラッシュではなく円マークで表示する日本語フォントにすればいいかもね。 文字コード関係の知識がないとこれからも困るだろうに。
282 名前:nobodyさん mailto:sage [2007/11/11(日) 10:03:08 ID:???] >>281 レスどうもです。 それが、JISだと「〜(IMEをOnにして~)」を入れると?で表示されるんです。 また、UTFにすると表示はされますが、ここで見えるようなきれいな形の〜ではなく、汚い フォントの全角チルダ?になっているようです。 どこかで表示フォントを指定する必要があるのでしょうか? 同一Webサーバー内で動いているASPの方はそんなことお構いなしで表示できているのに、 .NETだとダメなのでサーバーに依存しているわけではないというのは判るのですが・・・。 ASP.NETは始めたばかりで、いろんなことが便利に使える反面、複雑で判らないことが多く かなり苦労してます。orz
283 名前:nobodyさん mailto:sage [2007/11/11(日) 12:06:32 ID:???] ブラウザの言語設定がおかしいとかじゃねーの?
284 名前:279 mailto:sage [2007/11/12(月) 13:14:42 ID:???] 「〜」が「?」になるのはOracleの問題でした。 あまりかしこいやりかたではありませんが、globalizationをShift_jisにして\が出るようにし、 DBへの接続をODP.NETからOLEDBに変更して対応させました。 コメントしてくれた方々、ありがとうございました。
285 名前:nobodyさん [2007/11/13(火) 23:29:46 ID:JHc7eDB0] Response.Cookiesでクッキーの値を取得できますが サーバサイドでクッキーの値を扱うということは クッキーの内容を全てサーバに送信してるってこと?
286 名前:nobodyさん mailto:sage [2007/11/13(火) 23:41:38 ID:???] そうです。
287 名前:nobodyさん mailto:sage [2007/11/14(水) 01:18:40 ID:???] 微妙に不思議な表現だなw
288 名前:nobodyさん mailto:sage [2007/11/14(水) 17:35:47 ID:???] GridViewにSQLserverからSELECTしてきたデータをバインドしたいです。 テキストボックスの値をWHERE句に読み込んで…という形なのですが、 SQLcommand.Parameters.AddWithValue("@hage",hage) というようにすると、このあとデータセットで返すことが出来ず、バインドできません。 普通にテーブルアダプタ作ってFillする方法だと、今度はAddWithValueが使えずセキュアになりません。 一応、データセットデザイナだか何だかのGUIウィザードで パラメータ有のバインドが出来ましたが、 コード上でどうにかできないでしょうか。 SQLCeCommandにはResultSetという バインド可能なオブジェクトを返せるのがあるようなのですが…
289 名前:nobodyさん [2007/11/14(水) 17:54:37 ID:jLRgJntu] VS2005のASP.NET(VB.NET)を使っています。 databindでラジオボタンが複数選択できてしまうので 単一選択ができるカスタムコントロールを作ろうとしています。 www.microsoft.com/japan/msdn/asp.net/tips/CustomControl/ この通りにやって、サンプルのコードをコピペすると、 Imports System.Web.UIが見つからない、というエラーが起こります。 新規のプロジェクト作成時のパスは今のアプリケーションルートの下で いいのでしょうか?
290 名前:nobodyさん [2007/11/14(水) 18:40:57 ID:jLRgJntu] >>289 で書きこんだものです。 単純に参照設定ができてなかったようです。 追加で参照設定をしたところ読み込めました。
291 名前:nobodyさん mailto:sage [2007/11/14(水) 21:36:10 ID:???] .NETでお絵かき掲示板を作ろうと思っています。 お絵かき部分のJavascriptは検索していくつか候補があるんですが、 その結果をどうすれば反映できるのかが分かりません。 Javascriptの内部で画像として保存、それからリンクを張るとかだとUI的に面倒なので Canvasに絵を描く、コメントを打ち込む→投稿ボタンを押す だけで一気に画像の保存からコメントの投稿まで終わらせたいと思っています。 が、コメントはテキストボックスにいれておけば、ボタン押下でPOSTされてきますが JavaScriptのCanvasに描かれた絵の部分は一体どこから取得すればいいんでしょう? そもそも絵のデータは一体どこに保持されているんでしょう。
292 名前:nobodyさん mailto:sage [2007/11/14(水) 21:38:05 ID:???] 方法として2種類考えています。 SVGのデータとして結果をDBに格納してそれを表示時に再反映する方法。 投稿の時点で画像としてサーバに保存し、そこにリンクを張る方法。 別にどちらでも構わないんですが、どちらの方が簡単に実装できそうでしょう?
293 名前:nobodyさん mailto:sage [2007/11/29(木) 09:52:52 ID:???] GridViewの条件検索でDropDownListを使っています。 静的項目として「すべて」という項目を作り、 AppendDataBoundItems=trueにしています。 SqlDataSourceのSQL文のWHEREの対象句が文字列であれば 例:「…WHERE (Book like @Book)」として項目「すべて」のValueを「%」に しておけば、選択されたらすべてが表示できるのですが 以下のように、対象句がIntの場合 SELECT ID, Book FROM tbl_Book WHRERE (ID = @ID) DropDownListで「すべて」が選択された場合にすべてを表示 させる動きにするにはどのようにしたらいいのでしょうか? 使用しているデータベースはSQLSERVER2005EXPRESSです
294 名前:nobodyさん [2007/11/29(木) 17:46:04 ID:rMbVmK8t] SelectionChanged かなにかのイベントで 場合分けしたらいいんじゃないのかな。
295 名前:nobodyさん [2007/12/04(火) 14:38:47 ID:l2Tev5nw] ASP.NETで画面をHTMLで作成する時、Labelがずれちゃったりテーブルの高さが おかしくなったりするんですけど、これってどう対処すればいいですかね? Widthを調整したり、全角と半角で微調整ってのは一応わかってるんだけど他に何か うまいやり方ってあるかな?
296 名前:nobodyさん [2007/12/04(火) 18:19:09 ID:l2Tev5nw] 295です。 画面設計についてはVisualWebDeveroperのヘルプに書いてありました。 ネットで検索するよりヘルプの方が情報量多いね。盲点だった。
297 名前: 122x218x24x97.ap122.ftth.ucom.ne.jpfieojfefe [2007/12/05(水) 11:39:13 ID:bGekTFEd] e
298 名前:ヘルプ mailto:age [2007/12/07(金) 00:22:59 ID:???] 誰かわかる方がいらしたら教えてください。 ASPを使ってネットワークフォルダのファイルを参照したいのですが、うまくいきません。 認証はwindowモードでユーザ偽装をおこない、iiSの統合windows認証のユーザに偽装します。 そこでエクスプローラで \\マシン名\フォルダ名だと参照できるのに同じユーザでASPにてファイルを参照しようとすると権限にてはじかれます。 どなたかわかりましたらお願いします。
299 名前:nobodyさん mailto:sage [2007/12/08(土) 11:13:53 ID:???] ふらっとで質問したのですが、こちらで聞いた方が良いと誘導されてきました。 あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり 他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。 以下のような構造になるのかなと考えています。 【ユーザ】←HTTP→【画面側プログラム@】←なんらかの方法→【プログラムA】←→インターネット @: ASPで、他者の発言の取得はn秒ごとにポーリングを行う。 (サーバプッシュ型にできればなお良い) A: EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。 @の状態には依存しない。 ASPにして@と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている) そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って プログラムを動かすことができるのでしょうか。 可能なら、@とAを一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして 全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。 これは可能でしょうか。 もう一つ、分ける場合には@とAで情報のやりとりをする必要があります。 Aでインタフェースを提供し、@はそれを呼び出すだけという形にしたいです。 @から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを 提供できないかなと思うのですが、AがASPじゃなく普通のEXEの時に、AでWebサービスを 実装するにはどのようにすればいいのでしょうか。 (AがASPなら、IISが良きに計らってくれますが…) また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか? 妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。 よろしくお願いします。
300 名前:nobodyさん mailto:sage [2007/12/08(土) 22:03:20 ID:???] @のApplication_StartでAの処理開始すりゃいいんじゃねーの普通は。
301 名前:nobodyさん mailto:sage [2007/12/08(土) 22:20:28 ID:???] ありがとうございます。 ちょっと確認させてください。 Application_Startは、IIS起動後最初のユーザがページにアクセスして、 一つ目のインスタンスを作る時に発生。 Application_Endはすべてのセッションが切断された時に発生。 という認識であってるでしょうか。 できれば、IISからWebサイトを起動した時と停止した時にイベントを拾いたいのですが、 そういうイベントはありませんでしょうか。
302 名前:nobodyさん [2007/12/08(土) 23:10:32 ID:qOs8ePBr] 今日からASP.net始めました。よろしくお願いしますw すみません。厳密にはVisual Studio 2005の使い方になってしまうかもしれませんが……。 ASP.netで使用中のデータベースの内容を見ようとしたのですが、サーバーエクスプローラの「データ接続」から.mdfファイルを開く(データベースに接続する)ことが出来ません。 「ユーザーの既定データベースを開けません。 ログインに失敗しました。 ユーザー 'hostname\username' はログインできませんでした。」 というダイアログが表示されます。 接続文字列内でAttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続すると、こういう使い方は出来ないのでしょうか?
303 名前:nobodyさん mailto:sage [2007/12/08(土) 23:12:09 ID:???] 一つ目のインスタンスってなんのこと? Application_Endはアプリケーションがシャットダウンされるとき。 通常はユーザのアクセスが一定時間無かったとき。 サイト起動時ってのはASP.NET側ではない(まだ動いてもいないから) サイト起動時にやらないといけない理由があまり見当たらないんだが…
304 名前:302 mailto:sage [2007/12/08(土) 23:12:38 ID:???] 追伸です。 まだSelect文しか流してはいませんが、ASP.net側ではとりあえず接続は出来ているようです >問題のデータベース
305 名前:nobodyさん mailto:sage [2007/12/08(土) 23:14:08 ID:???] >>302 ASP.NETで使用中とは、IISで運用中ってことかい? IISで動作中は、例えばIIS6だとNETWORK SERVICEユーザが使用中だから、 User Instance=Trueでは使えないはず。
306 名前:nobodyさん mailto:sage [2007/12/08(土) 23:23:50 ID:???] >>303 ユーザが画面を開いていないときでも、チャットには繋げっぱなしにしたいのです…。 とりあえずWebサーバ起動時に繋げにいって、チャットの書き込みをサーバのログに吐く。 ユーザは必要な時だけWebサーバにアクセスするという形で。 自分だけが使うものなので、最悪、起動時は必ず画面を開いてApplication_Startを 呼んでやるという形でもいいのですが、終了時はApplication_Endでチャット切断処理を やってしまうと、ユーザからのアクセスが無いときに勝手に接続が切れてしまうので…。 かといってどこかに明示的な切断を入れないと、アプリ終了後もタイムアウトするまで チャットに居座りっぱなしになる行儀の悪いプログラムになるなあと。 ユーザの状態に依存しない開始と終了イベントを取れれば、 ユーザは必要な時だけWebサーバにアクセスし、ユーザはサーバ側のチャットへの 接続状態を気にしなくて済むようになり、サーバ側もユーザの接続状態を 考えなくて済むようになると思いまして。 画面側にはWebサービスとして、チャットで発言するメソッドと、画面更新のために 最新のチャットログを取得するメソッドくらいを提供してやればいいかなと。
307 名前:302 mailto:sage [2007/12/08(土) 23:31:32 ID:???] >>305 早速のお返事どもっす。 こーゆー使い方したかったらちゃんとSQL Server動かせってコトなんですね ……まぁ、「AttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続」するのが「ちゃんとしていない」ってコトはないんでしょうが……。 要はPHPのSQLiteとかJavaのHSQLDB(のスタンドアロンモード)と考えればOKかな? 手軽には使えるけど、ちょっとイヂりたいとかの場合は不便ですなぁ。
308 名前:nobodyさん mailto:sage [2007/12/09(日) 00:53:07 ID:???] んーUser Instance=Falseじゃだめなのけ?
309 名前:nobodyさん mailto:sage [2007/12/09(日) 00:57:02 ID:???] >>306 ようわからん、サイト起動時に接続するんじゃ もはや切断なんて関係ないレベルですでに十分行儀悪いと思うが。 どうしてもそんな風にしたいんならサービス作るしかないんじゃない?
310 名前:nobodyさん mailto:sage [2007/12/09(日) 05:00:17 ID:???] むぅ ちなみにEXEで作ってサービス化した場合、その中でWebサービスとして メソッドを提供することは可能でしょうか? それとも、WebサービスにしたいのならASPで作らないとダメでしょうか。
311 名前:302 mailto:sage [2007/12/09(日) 09:59:21 ID:???] >>308 ダメみたいですねー。今度は本体(ASP.net側)でエラーが出ます >User Instance=False
312 名前:nobodyさん mailto:sage [2007/12/09(日) 18:17:59 ID:???] Application_Endが呼ばれた後って、Applicationオブジェクトに格納していた オブジェクトはどうなります? 要するに、ユーザがしばらくアクセスしなかったら、破棄されたりします?
313 名前:nobodyさん mailto:sage [2007/12/09(日) 20:29:55 ID:???] Application_Endが呼ばれるってことはそういうことだ。 まあtimeoutを伸ばすとか終了させないようにする手もあるが、 普通は必要ない。
314 名前:nobodyさん mailto:sage [2007/12/09(日) 20:37:11 ID:???] んー、ようするに、ASPでユーザの状態によらないオブジェクトの維持は無理ってことですかね? 例えば、今日一日のアクセス数を返すようなWebサービスは、変数をファイルに 書き出して保持しないと維持できない訳ですよね? 一番生存期間が長い(と思う)Applicationも、ユーザのタイムアウトによる Application_Endで破棄されるみたいですし。
315 名前:nobodyさん mailto:sage [2007/12/09(日) 22:29:07 ID:???] だからリサイクルの設定をみんなオフにする手はあるが、 どっちにしても保証はされてないから結局Endで保存、 Startで読み込みとかは必要になる。
316 名前:nobodyさん mailto:sage [2007/12/09(日) 22:30:01 ID:???] あ、いや、Endで保存、Startで読み込みは微妙だな、うまくいかない可能性がある。
317 名前:302 mailto:sage [2007/12/09(日) 23:04:34 ID:???] たびたび申し訳ないっす。 TableAdapterを試そうとして少々苦戦しています。 VisualStudioでのビルドは通るのに、実行時に型または「名前空間名 'hogeTableAdapters' が見つかりませんでした」って出るのはどうしてでしょう? ……TableAdapter自体もよーわからんっす。Fillした後、どうやってデータを取り出せばいいんだろう? 「ASP.net 2.0 実戦プログラミング入門」という本を参考にしていますが、あまりいい本ではありませんね。 ちょっと後悔。
318 名前:302 [2007/12/10(月) 10:37:10 ID:aKqH/kSM] >>317 あ、申し訳ありません。age忘れてましたね。失礼。
319 名前:302 mailto:sage [2007/12/10(月) 18:53:27 ID:???] 自己解決。↓が足りなかったらしい www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5228&forum=7 VisualStudioで面倒見てくれるときとくれない時があるのね。 引き続きTableAdapterに挑戦中……。
320 名前:nobodyさん mailto:sage [2007/12/10(月) 22:35:57 ID:???] おい、PHPスレを荒らしに来てるやつ自重しろクズ
321 名前:302 [2007/12/11(火) 17:02:22 ID:fZiANqi9] スレ汚しですみません。 TableAdapterの方はなんとなく判ってきましたが、わき道に逸れてGridView+FormViewなんてモノに手を出してます なんとかマスターメンテらしきモノを作るところまでは出来たのですが、FormView側で登録・更新・削除した結果をGirdViewに表示させることが出来ません。 ググった結果「GridViewのEnableViewStateってプロパティをFlaseにすればOK」という情報までは取得できましたが、この設定にはなにか副作用があるのでしょうか? 単に「初めての表示/明示的な読み込みの結果を保持しておきたい」という目的以外にTrueにする意味はあるのですか?
322 名前:nobodyさん [2007/12/13(木) 00:41:26 ID:6Y2No+8T] >>306 コメットを使うことが出来ればやりたいことは実現できそう?
323 名前:nobodyさん mailto:sage [2007/12/13(木) 22:05:12 ID:???] どっからコメットが…
324 名前:nobodyさん mailto:sage [2007/12/15(土) 12:37:07 ID:???] DBからSELECTしてきたDataSet等に、 さらにSQLを投げてDataSetを作成することは可能ですか?
325 名前:nobodyさん mailto:sage [2007/12/15(土) 13:24:29 ID:???] >>324 =302
326 名前:nobodyさん mailto:sage [2007/12/16(日) 01:51:04 ID:???] 会社の環境はVS2005なのですが、ちゃんと aspx aspx.cs designer.cs とワンセットで表示されるのですが、家の環境はWebDevelopperで designer.csがソリューションエクスプローラに表示されません。 aspxなどの場所にdesigner.csファイルもありません。 これはどうやって表示させるのでしょうか? WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^; なので、いつもファイルをダブルクリックして立ち上げるのではなく WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・
327 名前:nobodyさん [2007/12/16(日) 19:34:30 ID:IvdqqwNS] 教えてください。 Repeaterにユーザコントロールファイルをセットして実行し、 ascx.csでRepeater.DataSourceに入っているデータレコードを取得したいのですが そんな事は可能でしょうか? this.rep.DataSource = dataTable; this.rep.ItemTemplate = Page.LoadTemplate("Test.ascx"); this.rep.DataBind(); Test.ascx.csでdataTableのレコードを取得したい。 ascxでは <%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "name") %> で取得可能なのですが、これをascx.csでやりたい。 何でかと言うと、この値によって処理を変更したいからです。 お願いしますm(_ _)m