トップページphp
1001コメント429KB

【質問】ASP.NETスレ Part3【議論】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/10/09(月) 10:04:09ID:luJDzNn3
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
09789642007/07/15(日) 15:57:26ID:???
>>965 ありがとうございます。window.openerでやってみます。
Modelessだと別ウィンドウのほうが使い勝手がよいので、当面の間は別ウィンドウかなと。
0979nobodyさん2007/07/15(日) 20:35:55ID:9rTzCp+e
ViewStateの値をDBに格納しておけばhiddenに出力されなくなる?

0980nobodyさん2007/07/15(日) 20:43:05ID:6PV7iA4t
Pageでクライアントに出力したResponseの総バイト数を
実行中に知るにはどのようにすればよいでしょうか?
具体的にはPage内から計算したいのです。Page_Loadから計算できませんか?
0981nobodyさん2007/07/16(月) 02:30:58ID:???
おまえは馬鹿か?
0982nobodyさん2007/07/16(月) 12:57:53ID:???
>980
なんでそんなことしたいの?
因みにPage_Loadはクライアントに出力されるResponseが構築される前だから無理だよ。
0983nobodyさん2007/07/16(月) 23:53:57ID:???
Pageで知るというよりページサイズを何バイト以下にするとかAssertしたいからなんですが
0984nobodyさん2007/07/17(火) 00:31:08ID:???
Global.asaxの適当なイベントで、ページの場合にレスポンスフィルタを設定。
とりあえずレスポンスフィルタはバイト長を数えながらそのままもとのストリームに書き込む。
EndRequestとかでレスポンスフィルタで数えた長さをチェック。
09859802007/07/17(火) 01:18:24ID:???
どうもありがとうございます。
やってみます。
0986nobodyさん2007/07/17(火) 13:11:31ID:???
Yahoo! オークション の web サービスの SOAP を C++ で使おうと、
http://soap.auctions.yahoo.co.jp/AuctionWSDL/V1/yahooAuctionService.wsdl
をプロジェクトに追加しました。
ですが、できたプロキシクラスが getCategory で複数返されるはずの summary を
一つしか返せないものでした。
これは、wsdl.exe のバグなんでしょうか?
09879862007/07/17(火) 13:14:51ID:???
getCategory で返されるのは
×summary
〇childCategory
です><
0988nobodyさん2007/07/17(火) 13:47:28ID:???
カレンダーコントロールで曜日を英語にすることは出来ますか?
海外用のカレンダーコントロールがあれば教えてください。
0989nobodyさん2007/07/17(火) 15:37:08ID:???
>>988
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=324245&SiteID=7
0990nobodyさん2007/07/17(火) 17:33:24ID:???
JavaScriptで
document.all.form1.action="別ページ.aspx";
document.all.form1.submit();
で別ページにsubmitするとエラーが発生します。

エラー内容
---
viewstate MAC の検証フィールドです。このアプリケーションが Web Farm またはクラスタによってホストされている場合、
<machineKey> 構成が同一の validationKey および検証アルゴリズムを指定していることを確認してください。
AutoGenerate をクラスタで使用することはできません。
---

とりあえずの回避策として、ASPボタンコントロールのPostBackUrlに別ページを指定して
うまく遷移できるようになったのですが、JavaScriptで別ページにsubmitすることは出来ないのでしょうか?
0991nobodyさん2007/07/17(火) 20:19:51ID:???
>>990
ASP.NETのsubmitはviewstateを作成したりする
Javascriptが自動的に動作する仕組みなっています。

で、viewstateはページの状態を退避しておいてクライアントに送り、
POSTによって返された際に、クライアントからのviewstateからコントロールを
復元させます。
その為、そのまま別ページにsubmitすると存在しないコントロールを復元しよう
とし、エラーが出ます。

よって、PostBackUrlで作成されるソースでも追ってどの様なJavaScriptが動い
ているか理解したうえで、viewstateを一時的に無効化し通常のPOST扱いで
submitすれば出来ますが、そもそもASP.NETの動作原理に興味が無いようであれば
ASP.NETによって自動的に作成されるJavaScriptはASP.NETにお任せする事をお薦めします。
0992nobodyさん2007/07/17(火) 20:27:50ID:???
aspx.csのメソッドでResponse.Writeを使ってタグを出力する記述をし
aspxで<% メソッド(); %>でブラウザに出力させる方法って良く使うものなのでしょうか?
ASPみたいな記述です。
0993nobodyさん2007/07/17(火) 21:18:01ID:???
>>986
Yahoo! オークションはRESTしか利用した事ないんで分からんが
http://msdn2.microsoft.com/ja-jp/library/d3hx2s7e(VS.80).aspx
とかが影響してるんじゃないの?

>>992
<%#なら使うが<%は使う意味なくね?
サーバーコントロールなら用意されているメンバで制御できるし、
サーバーコントロール化したHTMLならInnerHtml、Visibleで内容変化させられるし。
唯一、viewstateを利用するかしないかを各コントロールで決めるだけだな。
0994nobodyさん2007/07/17(火) 21:32:08ID:???
複数行・列あるグリッドでマスメに入力欄があるときに
DBに登録されている内容をマスメの入力欄にセットする。
登録ボタンの処理でまず入力チェックを実行し、問題なければサーバで登録処理をする。

今テーブルタグを利用しています。
入力欄は列で同じID、NAMEにしています。
クライアントでの入力チェックロジックで、チェックしやすいからです。
あと入力欄を同じNAMEにすることで、Requestで値を取得する際、カンマ区切りで取得出来るので
データを一気に登録できて便利だからです。

だから今DBの内容からテーブルタグを生成するのをResponse.Writeを使ってやろうかなと思っているのですが
どうでしょうか?
0995nobodyさん2007/07/17(火) 21:42:30ID:???
クライアントでエラーチェックするという考えがダメ?
エラーチェックって皆サーバでやるんすか?
ユーザーがノートPC+Winカードで利用するので
クライアントで出来ることはクライアントに任せたいと考えています。
0996nobodyさん2007/07/17(火) 22:21:37ID:???
>>994
クライアントでエラーチェック
→おれは便利にするためにクライアント側”でも”エラーチェックする事はある

同じID、NAME
→おれはxhtmlでid重複はしない

Response.Writeを使って、Requestで値を取得する際
→ポストバック時に値を復元してくれるviewstate意味が無い。
 例えば、ドロップダウンの値を他の入力項目の値によって変化させる場合
 DB取得が必要であればポストバックするのでviewstate配下にあれば
 最終入力値を意識する必要は無いので処理追加がすぐできる。

おれなら、RepeaterもしくはGridViewのItemTemplateに
asp.netのtextコントロールを作って、
サーバ側の処理を(エラーチェックも含めて)作成した後に、
ClientIDの一覧を出力してSubmit前に動くようにボタンコントロールの
onclientclickにでもチェック用の共通Javascriptを作るかな。
0997nobodyさん2007/07/17(火) 22:48:26ID:???
>エラーチェックって皆サーバでやるんすか?
普通はそうするわな

例えるなら、東口、西口、正面口に入り口がある空港で正面でしか持ち物検査しなかったら、
幾ら口すっぱく正面口から入れと言い聞かせても東口、西口使う馬鹿が居る。
だから飛行機に搭乗するには絶対通らなければならない場所で持ち物検査するのと同じ。

>ユーザーがノートPC+Winカードで利用するので
>クライアントで出来ることはクライアントに任せたいと考えています。
意味不明。回線が細くて、処理速度が遅いって言うのが理由なら
なおさら、サーバー側で処理してあげるべきだと思うが。
0998nobodyさん2007/07/17(火) 23:47:57ID:pyJr9yIy
サーバ側でチェックしてNGだった場合
再描画されちゃわないんすか?
0999nobodyさん2007/07/17(火) 23:51:48ID:pyJr9yIy
次のスレッドを作りました。

【質問】ASP.NETスレ Part4【議論】
http://pc11.2ch.net/test/read.cgi/php/1184683786/l50
1000nobodyさん2007/07/18(水) 00:26:59ID:???
うめ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。