【質問】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/
0051nobodyさん
2007/08/02(木) 00:22:10ID:???答えられないんだったらいちいち書き込むなよ
>>50
ASP側に id="Label1"というLabelを仕込んで
aspx.csファイル側でif文かなにかで
Label1.Text = "○"
Label1.Text = "×"
にすればよい
0055nobodyさん
2007/08/02(木) 23:29:29ID:aUE57HU0csでjavascriptのwindow.close()を実行しても、すぐには実行されず
画面上の全てのhtmlを出力してから実行されますね。
スクリプトをすぐに実行したい場合、どうしたら良いのでしょうか?
たとえば、登録ボタンをクリックした時、Page_Loadで登録処理を行い、すぐに画面を閉じたいのです。
閉じるようの画面を作って、その画面にRedirectする方法しか思いつかない。
0056nobodyさん
2007/08/03(金) 11:52:20ID:???0057nobodyさん
2007/08/03(金) 17:33:12ID:9JZ2axOlTestソリューションにAプロジェクトとBプロジェクトを追加し
Bプロジェクトの参照設定で、Aプロジェクトを追加しました。
Bプロジェクトに追加されたAプロジェクトはローカルにコピーしないを設定しました。
これで実行すると、Aプロジェクトがどこにあるか分からない的なエラーが出るのですが
どう改善したら良いのでしょうか?
A.dllをグローバルアセンブリキャッシュに登録しないやり方があれば教えてください。
0058nobodyさん
2007/08/03(金) 22:32:35ID:???0059nobodyさん
2007/08/03(金) 22:56:53ID:???0060nobodyさん
2007/08/03(金) 23:21:02ID:???依存関係がどうのこうのってエラー。
>>59
ローカルにコピーしたらA.dllを修正した場合
BプロジェクトのbinにあるA.dllも手作業で修正後のdllに変更しないと駄目じゃん。
この例ではAとBプロジェクトの2つだけだけど
仮にAプロジェクトを参照設定しているプロジェクトが10個とかあったらどうするの?
0061nobodyさん
2007/08/04(土) 01:05:56ID:???0062nobodyさん
2007/08/04(土) 13:22:46ID:???0063nobodyさん
2007/08/04(土) 19:57:46ID:???0064nobodyさん
2007/08/05(日) 05:19:17ID:???無理だからあきらめろ。
0065nobodyさん
2007/08/09(木) 01:47:23ID:bl38nCXt質問があります。
[ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?[2.0のみ、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/561aspajaxprepare/aspajaxprepare.html
にあるように、AJAXコントロールキットを組み込んで、レンタルサーバ(DOTNETレンタルサーバ)に
プロジェクトをアップロードして確かめたところ、以下のエラー出ました。
'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------
パーサー エラー
説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソースファイルに変更を加えてください。
パーサー エラー メッセージ: ファイルまたはアセンブリ 'AjaxControlToolkit'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
これは、なぜ起きるのでしょうか?
ちなみに、自分のPC上では正常に動作しました。
問題なのは、レンタルサーバー上でエラーとなったことです。
0066nobodyさん
2007/08/09(木) 11:39:58ID:???AJAX Control ToolkitはAJAX Extensionsと
異なるDLLで動作してかつ現状グローバル・アセンブリ・
キャッシュにも登録されないので、サイトルートのbinフォ
ルダの中に「AjaxControlToolkit.dll」が必要。
利用しているレンタルサーバは「AJAX Extensions」だけが
インストールされているだけっぽいし。
006765
2007/08/09(木) 11:53:46ID:SsgdZ+V9binの中には、そのdllが入っています。
なのにエラーがでてしまうのです
0068nobodyさん
2007/08/09(木) 14:08:59ID:???そのエラーは基本的に「AjaxControlToolkit.dll」の話だから
・サイトルートのbinフォルダの中にあるか?
確認してみ。
まぁ、
まさか無いだろうがAjaxControlToolkit.dllをFTPのバイナリモード
でアップロードしていなくて壊れてるとかか。
006965
2007/08/09(木) 14:23:18ID:SsgdZ+V9サイトにもありますし
ftpでアップロードしました
今夜もう一度確認してみます
0070nobodyさん
2007/08/09(木) 22:22:21ID:???007165
2007/08/10(金) 00:06:46ID:???ありがとうございました。
0072nobodyさん
2007/08/10(金) 01:09:45ID:???0073nobodyさん
2007/08/10(金) 01:26:40ID:???0074nobodyさん
2007/08/10(金) 11:08:39ID:???AJAX Control Toolkitを利用したサイト作って確認してみた。
>>65のエラーが出るのは、
・サイトルートのbinフォルダにAjaxControlToolkit.dllが無い時
・dllをFTPのアスキーモードで送信して壊したとき
以外には確認できなかったのでASP.NETとは関係ない単純ミスだと思う。
007565
2007/08/11(土) 00:15:29ID:???確かに単純ミスというか知識不足でした。
dllファイルは、wwwroot/の直下にあるbinフォルダに入れるということですが、
私の勘違いで、
プロジェクト名がAAAだとすると、
wwwroot/AAA/binの中にdllを入れても問題がないという認識でした。
当然、wwwroot/AAA/直下には、default.aspxがあります。
みなさま失礼いたしました。
0076nobodyさん
2007/08/11(土) 00:33:12ID:???ヽ(・ω・)/ ズコー
\(.\ ノ
 ̄
0077nobodyさん
2007/08/12(日) 00:02:59ID:???0078nobodyさん
2007/08/12(日) 00:11:24ID:AGH4B/9Oサーバにアップされているファイルとキャッシュにあるファイルに差があっても
キャッシュを見てしまいます。
それを避けるためにプログラムでキャッシュを削除するとかって可能なのでしょうか?
サーバの設定でファイルがキャッシュに残る有効期間を設定できますが
有効期間があってもPG側で削除するというのをやりたいのです。
例えば通常は有効期間を設定しておき、キャッシュのファイルを使ってもらうのですが
ファイルの内容を修正したりという場合は、キャッシュにあっても再度サーバからダウンロードさせたいのです。
0079nobodyさん
2007/08/12(日) 07:22:06ID:???つうか、それってASP.NETの「Cacheクラス」とかの
話じゃなくてIEのキャッシュの話だろ。
微妙にスレ違いな感じが。
ヒント的には
ブラウザのキャッシュはファイル名ではなくてURLでキャッシュされるから
jsなどのURLにパラメータでも追加してブラウザに別物のURLと認識させる。
上記の意味が分からなければ、
・Ctrl+F5で更新してもらう
・ブラウザのキャッシュをHTTP ヘッダーで無効にし毎回ダウンロードする形にする。
とかで対応しとけば
0080nobodyさん
2007/08/12(日) 13:40:00ID:???キャッシュしててもリクエストは来て304が帰ってるんじゃないのか?
ファイルが更新されてたらキャッシュは使用されないだろ。
0081nobodyさん
2007/08/12(日) 17:56:27ID:???0082nobodyさん
2007/08/12(日) 20:46:16ID:???ページが最後に表示されてから変更されたか、
(If-Modified-Since)を確認する間隔もブラウザのアルゴリズムや
設定に依存するからファイルが更新されているのにキャッシュが
使われる事もある。プロキシがあったらさらに複雑化するし。
それを解決するには、URLに変化をかけるかキャッシュを利用しない
が一番トラブルが起きにくい。
0083nobodyさん
2007/08/12(日) 21:00:44ID:???簡単には無理だね。
javascriptでTreeviewのチェックボックスにイベント割り当てて
ASP.NETのサブミットさせるとかでうまく出来そうだけど。
0084nobodyさん
2007/08/12(日) 21:23:38ID:CwIQgpKdファイル名を変えなくてもパラメータを変えれば別物と判断されるんですね。
A.html?ver=1.0
A.html?ver=2.0
って別物と判断してくれるってこと?
0085nobodyさん
2007/08/12(日) 21:30:23ID:???0086nobodyさん
2007/08/12(日) 21:45:47ID:???まず、
実際試してキャッシュフォルダ(Temporary Internet Files)とか確認したら?
その上で、ページを表示している状態で更新してもキャッシュが利用されて
いないか確認したらいいんでない。
で、これってASP.NETでページ作らなくても静的なHTMLでも確認できるん
だから聞く前に試してみた方がいいよ。
ソースが欲しいのなら
ttp://yuki.silk.to/2006/04/000170.html
0087nobodyさん
2007/08/14(火) 12:07:12ID:hGLDM3MP環境はVS2005 C#です
masterページに動的に配置したcalendarコントロールのselectedDateイベントを
コンテンツページから取得するにはどうすればいいのでしょうか?
実現したい動作はmasterページのcalendarコントロールの日付を選択
その日付をコンテンツページで取得して選択された日の予定一覧を表示です。
008887
2007/08/14(火) 12:11:07ID:hGLDM3MPコンテンツページで作成したcalendarコントロールをmasterページに
渡してイベントを拾う事は出来るのですが、連続して日付を選択して行くと
二回目以降に[viewstateの読み込みに失敗しました]というエラーが出ています
0089nobodyさん
2007/08/14(火) 20:28:06ID:???問題の原因が特定できないならソースを貼るべきだと・・・
まぁ、予測だが「viewstateの読み込みに失敗しました」と言ってるのを見ると
masterページうんたらよりも動的コントロールの部分が問題の気がする。
「Page_Load」以下で動的に(viewstateがtrueの)calendarコントロール作成して無い?
その場合「Page_Init」で作成するようにして「追記」の状態で確認してみ。
0090nobodyさん
2007/08/19(日) 12:55:08ID:???「教えてクン養成マニュアル」置いておきますね。
ttp://www.redout.net/data/osietekun.html
0091nobodyさん
2007/08/19(日) 17:31:02ID:PhTQfUKCどうすればよいでしょうか?
0092nobodyさん
2007/08/19(日) 17:42:12ID:???http://support.microsoft.com/kb/307603/ja
0093nobodyさん
2007/08/19(日) 19:48:45ID:PhTQfUKCありがとうございます。
.NETじゃないaspでは無理なのでしょうか?
とりあえず考えた方法は、aspにアクセスした時にwebディレクトリーへ
該当ファイルをコピーしてその後コピー先にredirectという方法が
いけるかなと思いついたんですが、ダウンロード完了後にコピーファイルを
削除したいのですが、ダウンロード完了のタイミングを取得するには
何か方法ありませんでしょうか?
0094nobodyさん
2007/08/19(日) 21:30:38ID:???いや、勘違いしてるんだが、
Response.ContentType = "application/octet-stream"
Response.WriteFile("C:\aaa.txt")
Response.End()
と言うように、「Response.WriteFile」のパスは仮想ディレクトリ
では無い物理パスを指定すればいいだけ。
で、ダウンロード完了のタイミングと言うのは取れないが、
「Response.BinaryWrite」を使えば「Response.End()」の前に
ファイルを削除出来るので送信したら削除も可能なんだが
さらに勘違いしていてここはASP.NETのスレなんだが・・・・・。
まぁ、ASPでも出来るから調べるなり該当するスレに移動するなり
した方がいいよ。
0095nobodyさん
2007/08/19(日) 22:52:06ID:fhtMy5hWfor(int=0;i<list.count;i++){
Label[i].Text="ラベル"+[i]
}
…
とaspx.csに入力した場合、
listのカウント数が100件ならば画面上にLabelを1〜100件つくって、ラベル1〜100を表示
listのカウント数が0件ならばaspx側でlabelを作成しないなど
画面でLabelを作成する数をcountの数によって変動させたい場合、
aspx側でどういう風に書けばいいのでしょうか?
下らない質問ですが
ググッてもよくわからなかったので教えてください
0096nobodyさん
2007/08/19(日) 23:06:46ID:???普通なら、動的コントロールで必要な分作成する。
簡単に済ますなら、とりあえず全てのラベルのVisibleを
aspxでfalseにしておいてTextに入れるついでにtrueにする。
0097nobodyさん
2007/08/19(日) 23:40:54ID:fhtMy5hW>普通なら、動的コントロールで必要な分作成する。
ありがとうございます
すいませんがいまいちよくわかりませんので具体的に教えてください
0098nobodyさん
2007/08/19(日) 23:50:39ID:???少しは自分で調べてみるといいと思います。
http://support.microsoft.com/kb/317794/ja
そもそも、ラベルの数を「0 or 100」なのか「0 or 1 or 2 ・・・・ or 100」
なのかよく分からんので、Visibleで好きなようにコントロールするのを
お薦めします。
0099nobodyさん
2007/08/20(月) 00:07:03ID:???良く分からんが
0100nobodyさん
2007/08/20(月) 00:34:10ID:???aspx.csのコードでからlist.countの分だけ
aspのラベルコントロールを(aspxの方には一切コントロールを置かず)
動的に作成すればいいだけ。
list.countの最大数が決まってるのなら、
aspx側に最大数分作っといてVisibleでコントロールしろと
>>96は言ってるだけだから。
0101nobodyさん
2007/08/20(月) 00:56:02ID:???カスタムコントロールの質問にも思えてきた。
良く分からんが
0102nobodyさん
2007/08/20(月) 18:14:22ID:0m18HzF/Apacheじゃだめですよね。。みなさん、どうしてますか?
0103nobodyさん
2007/08/20(月) 18:26:19ID:???VS2005(ASP.NET 2.0)ならIISは無くてもテストやデバッグは可能です。
http://www.microsoft.com/japan/msdn/vstudio/express/vwd/
一時的にサーバ環境が必要なら、
DOTNETレンタルサーバの無料サービスを利用すればOK
0104nobodyさん
2007/08/20(月) 19:00:18ID:0m18HzF/0105nobodyさん
2007/08/20(月) 21:55:38ID:???VisualStudio2005をインストール可能な環境はIISもインストール可能なはずなのですが。
0106nobodyさん
2007/08/20(月) 22:00:59ID:???0108nobodyさん
2007/08/20(月) 22:43:21ID:???Homeなんかすっかり忘れてたよ。
0109nobodyさん
2007/08/23(木) 12:03:42ID:???ページング(AllowPaging="True" PageSize="10")を利用しているのですが、
件数が10件に満たない場合でもPagerを出力する事は可能でしょうか?
0111109
2007/08/30(木) 02:19:16ID:NTnTtLAtその後も色々調べてみたのですが、
同じ事で悩んでいた方の質問で無理だったらしいのです。
http://vsug.jp/tabid/63/forumid/72/postid/3405/view/topic/Default.aspx
よろしければ、やり方を教えていただけ無いでしょうか。
0113nobodyさん
2007/08/30(木) 20:32:17ID:???テキストエリアへのHTMLタグの入力を禁止するために、
RegularExpressionValidatorを使って入力チェックを行おうとしています。
正規表現で指定した禁止文字を入力しフォーカスを外すと、
エラーメッセージを表示してくれるのですが、
サブミットボタンを押してもサブミットが発生してくれません。
ボタンでのサブミットを発生させるにはどのようにすればよろしいでしょうか?
アドバイスお願いいたします。
0114nobodyさん
2007/08/31(金) 00:34:36ID:???アーカイブ等でよく見かけるメールのやりとりを階層表示するには
どのようにすれば良いのでしょうか?表示は件名、受信日、Fromのみ
とし、任意の件名をクリックすると、別ページでTo、Cc、件名、本文
が表示されるのをイメージしています。よろしくお願いいたします。
言語VB.NET、.NET Framework2.0です。
0115nobodyさん
2007/08/31(金) 00:34:37ID:???無理じゃないし、擬似的にでなくても出来るよ。
GridViewのPreRenderでsender.BottomPagerRow.Visible = True
GridViewのRowDataBoundで1ページに収まる場合、
BottomPagerRow.VisibleがFalseにされるんでそれより後に動く
イベントでBottomPagerRow.VisibleをTrueすれば表示される。
まぁ、イベントの順番とかどう言う処理してるかとか意識した方がいいと思う。
0116nobodyさん
2007/08/31(金) 02:09:46ID:???エラーなのにポストバックさせたいのか?
よく分からんが↓辺りかな。2003で試せる環境無いから適当だけど。
http://msdn2.microsoft.com/ja-jp/library/bt244wbb(vs.80).aspx
ってか、HtmlEncodeでHTMLタグ無効化した方が簡単だし安全だと思うが。
>>114
ttp://lists.samba.org/archive/linux/2007-August/thread.html
こう言うのの事か?
単純にならDB検索して、階層は<ul><li>を入れ子で<li>の中にaタグ入れてURLに
パラメータ与えた別ページ開くように件名リンクさせる文字列作って
Literalコントロールあたりに入れればいいんじゃね。
aspのHyperLinkとかLinkButtonコントロールとかでポストバックさせて
「リスト表示」と「To、Cc、件名、本文」部分のVisibleを切り替えれば別ページも
いらないと思うが、その場合はRepeaterコントロールあたりで<ul><li>の
繰り返し処理する必要があるかな。
0117nobodyさん
2007/08/31(金) 10:08:42ID:???返信ありがとうございます。
仕事中なので携帯から失礼します。
自分の書き方が悪かったです。
入力エラーの時にサブミット出来ないのは良いのですが、
正常値を入力した場合もサブミットが出来ず困っています。
申し訳ありませんが、よろしくお願いします。
0118nobodyさん
2007/08/31(金) 12:03:39ID:???asp.netのコントロール(ボタン、テキスト、RegularExpressionValidator)の組み合わせなら、
普通であれば出来るはずなので別な要因が影響してる気がするが。
http://ja.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/regexvalidator/doc_regexval.aspx
Javascriptでボタンをdisableにしてるとか、
asp.netのコントロールではなくてHTMLのタグで書いてるとか。
イベント関係はいろいろな側面が影響するので、簡単なソースを
作って調査した方がいいよ。
0119113
2007/08/31(金) 12:06:22ID:???jsを追った所、スクリプトライブラリのバグで、
.netFreamworkをASPに再インストールしたら正常に動く様になりました。
お騒がせしました。
0120nobodyさん
2007/08/31(金) 16:01:28ID:???しかし、いきなり問題が出て来ました・・・・。
WebアプリケーションをそのままOKを押し作成しようとすると
Webアクセス失敗と出て来てしまいます。
この場合、どのように対処したらよろしいでしょうか?
0121nobodyさん
2007/08/31(金) 21:32:28ID:???IIS動いてて権限ちゃんと持ってるか?
つーか入門書買え
>>114
保存してるのはそれだけ?
ヘッダとか保存してないの?
0122nobodyさん
2007/09/01(土) 00:24:53ID:o4VEeCjw>ttp://lists.samba.org/archive/linux/2007-August/thread.html
はい、上記のようなイメージです。
階層化するためには他に必要なヘッダー情報をDBに追加する必要がありそうでうす。
In-Reply-ToやReferencesを調べることになりそうですが、どのように扱えば
よいのかの参考になるわかりやすいサイトご存知でしたら教えてください。
階層化しやすくるためのクラスやライブラリがあればなお助かります。
0123nobodyさん
2007/09/01(土) 18:58:31ID:???0124nobodyさん
2007/09/01(土) 21:16:37ID:???それそれ。
わざわざコーディングしなくても再利用できるフリーのクラスとかDLLとかありませんか?
0126nobodyさん
2007/09/02(日) 00:51:34ID:???そこをなんとかよろしくお願いします!
0127nobodyさん
2007/09/02(日) 01:08:55ID:???あきれてモノも言えん
0128nobodyさん
2007/09/03(月) 20:32:29ID:???↓はい次どうぞ
0129nobodyさん
2007/09/08(土) 22:51:29ID:XwRWsE9uこれが実際のサイトと違う場合はどうなるのでしょうか
更新可能なサイトとしてコンパイルしても更新されなくなるだけ?
@IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第1回 周辺技術が支えるASP.NET 2.0の進化
http://www.atmarkit.co.jp/fdotnet/asp2review/asp2review01/asp2review01_03.html
に
>仮想ディレクトリ名を変更してしまうと、アプリケーション自体が正常に動作しなくなってしまう。
普通に動いてしまっているようなのですが、このあたりの詳細な記述があるサイトはないでしょうか?
インストーラの実行時に仮想ディレクトリの名前を確定したく簡単な方法を探しています。
0130nobodyさん
2007/09/10(月) 21:02:18ID:slz4gROCselect count(*) from table の結果を、ラベルに出力したいのですが
サンプルありませんか?できれば .aspx.vb 側でコードを書くのでなく
.aspx側(ただし、<script></script>の中は不可)で出力するコードを書きたい。
書く方法があるのか、そういう方法ではNGなのかよくわかりません。
サンプルのアクセス先でもよいので教えてください。
よろしくお願いします。
0131nobodyさん
2007/09/10(月) 21:42:17ID:???インラインコードモデルで書きたいってこと?
http://www.microsoft.com/japan/msdn/asp.net/tips/codebehind/
0132nobodyさん
2007/09/10(月) 21:52:18ID:???どうもインラインコードモデルじゃむりっぽいかもしれないので、コードビハインド可で質問
しなおします。
GridViewのサンプルはたくさんあるので書き方がわかるんですが
select count(*) from Tablexxx の結果をラベルに代入するサンプルが見つからない。
どなたかご存知でしたら教えて。
0134nobodyさん
2007/09/10(月) 22:08:03ID:???すみません、SQL Server 2000 でした。
0135nobodyさん
2007/09/10(月) 23:55:16ID:???0136nobodyさん
2007/09/11(火) 01:49:13ID:???0137nobodyさん
2007/09/11(火) 13:42:38ID:???どうせLabelにはデータソース指定がないからGridViewみたいにコーディングレスじゃ割り振れないってだけだろ。
普通にSQL発行して戻り値でSELECT結果返す関数作って
その戻り値をLabelに入れるなりなんなりすればいいだけ。
Label1.Text = GetSqlquery();
でいいだろ。
0138nobodyさん
2007/09/11(火) 20:34:07ID:jV5pYbSSサンキュー!
そうでした、単純にクエリーの実行結果を得る方法さえわかれば
どうってことないことでした。
0139nobodyさん
2007/09/12(水) 16:40:18ID:???でwebアプリケーションを開発しています
現在、モバイルWebアプリケーションを作成しているのですが
状態管理のセッションキーがURLに埋め込まれますが
このセッションキーの埋め込み位置を変更することは
できないでしょうか?
例:
http://www.○○○.com/mobile/(セッションID)/index.aspx
↓
http://www.○○○.com/mobile/index.aspx?session=セッションID
という感じにできませんか?
おわかりの方がおられればぜひご教示ください。
0140nobodyさん
2007/09/12(水) 23:00:57ID:???Panelの中にUpdatepanel、Updatepanelの中で<div> </div>で囲んだ
Gridviewコントロールを配置しています。Gridviewで表示した表は
一定間隔で自動更新表示(タイマー使用)しています。
ブラウザ側のスクロールバー位置はMaintainScrollPositionOnPostback="true"
により同じ位置を保持可能ですが、ヘッダー固定したGridView側のスクロール
バー位置が上に戻ってしまいます。内部のスクロールバー位置ももとの位置を
保持させるにはどのようなコードを追加すればよいのでしょうか。
ご存知の方、おしえてください。
0141nobodyさん
2007/09/12(水) 23:52:58ID:???ルート演算子「~」とかがおかしくなった気がする。
MSDNあたりでこれ関係の記述を見た記憶が。
>>139
自分でセッションの代わりを作らない限り無理だと思う。
で、絶対パスでセッションが切れるとかリダイレクトとかの問題なら
解決策はあるが、見た目の問題とかならしらね。
>>140
MaintainScrollPositionOnPostback="true"で作成される
JavaScriptと同じ事をやればいい。
Hidden項目2つ(x,y)用意してGridViewを囲んでるdivの(javascriptの)
onscrollイベントで縦・横位置を記憶するJavascriptを作る
で、次に縦・横位置を復元するjavascriptを用意する。
ここまでは、UpdatePanelだろうが通常のポストバックだろうが同じ。
次に通常のポストバックなら縦・横位置を復元するjavascriptを
Page.ClientScript.RegisterStartupScriptで呼べばいいが、
UpdatePanelの場合は非同期通信で作成されるJavascriptの
endRequestをフックするか、ASP.NET側のScriptManager.RegisterStartupScript
あたりで非同期通信後に呼ぶ。
まぁ、GridViewが複数同一ページ内にある場合とか考えても、
Hidden項目がその分必要になるから、スクロールしているdivを
カスタムコントロール化するべきだと思うが。
ScriptManager.RegisterStartupScript
0142nobodyさん
2007/09/13(木) 23:05:53ID:f7p5yovkWebサイトプロジェクトと、Webアプリケーションプロジェクトの
どっちで作るほうがいいの?入門書見たらWebサイトプロジェクトで
説明してるものばかりだけど…
0143nobodyさん
2007/09/14(金) 01:00:26ID:???ありがとう。
divの(javascriptの)
<div onscroll=..... てところが書けない。
onscrollという属性が予約語でないのか、エラーになります。
どのようにすればよいのでしょうか?
0144nobodyさん
2007/09/14(金) 02:35:05ID:CiMbiaO2Cで作成したネイティブのDLLを参照する必要があり、それを入れたいです。
他にもBinにログファイルを作成する.NETアセンブリもあったりするのですが問題ありますでしょうか?
(ASP.NETアプリからはそのCのDLLのラッパを呼び出している。ラッパはBinフォルダの中にある。)
サイト
Bin
native.dll
wrapper.dll
0145nobodyさん
2007/09/14(金) 02:52:17ID:???そいつはまずい。
まじで。
0146nobodyさん
2007/09/14(金) 10:10:05ID:???それ、XHTMLに準拠しているかの検証エラーなだけなので
気にしないで進めろ。
XHTMLに準拠が気になるなら、
・Javascriptでdivのイベントに処理を割り付ける
document.getElementById(???).onscroll = function ・・・
・divにrunat="server"(Panelコントロールでもいい)を付けて
ASP.NETコントロールにしてAttributes("onscroll")でJavaScript
を文字列で書き込む。
好きな方でやればVSのデザイン時にXHTML検証でエラーは出ない。
0147nobodyさん
2007/09/14(金) 22:48:45ID:???んーー、非常に勉強になりました。
アドバイスの通り試行錯誤してみます。
重ね重ね本当にありがとうございました!!
0148nobodyさん
2007/09/14(金) 23:43:51ID:???スクロールバーを表示している<div>をUpdatePanelのすぐ外に
置いてスクロールの内部を非同期通信させる方法で対応できる
ならそれが簡単かも。
UpdateProgressを使ってたり、ポストバックの更新時、UpdatePanelの入れ子とかで
内部表示の幅がが一時的に小さくなったり、divが再描画されたりすれば
スクロール位置は戻るので現在の処理が絡むので分からんけど。
まぁ、>>141の内容と組合せるとかすれば出来ない事は無いだろうけど。
0149nobodyさん
2007/09/17(月) 03:52:15ID:???一瞬動かないものなのかと思ってしまいました。 まさかMS非推奨、とかじゃないですよね?
■ このスレッドは過去ログ倉庫に格納されています