問題タブ [page-lifecycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ViewState が使えないときはどうする?
リピーター内にユーザー コントロールを動的に構築するかなり複雑なページがあります。このリピーターは、初期化前の Init ページ イベント中にバインドする必要がありますViewState
。そうしないと、動的に作成されたユーザー コントロールの状態が保持されません。
これにより興味深いキャッチ 22 が作成されます。これは、リピーターをバインドするオブジェクトを最初のページの読み込み時に作成し、ユーザーが終了または保存するまでメモリに保持する必要があるためです。
このオブジェクトを保存するために使用することはできませViewState
んが、初期化中に使用できるため、セッションに保存することを余儀なくされました。
動作をエミュレートするために、非ポストバック中にセッション値を明示的に null にする必要があるため、これにも問題がありますViewState
。
このシナリオでは、管理を状態にするためのより良い方法が必要です。何か案は?
編集:の使用に関するいくつかの良い提案LoadViewState
がありますが、それを行ったときに状態が復元されないという問題がまだあります。
ここは、ページ構成が多少
ページ --> ユーザー コントロール --> リピーター --> 動的に作成された N 個のユーザー コントロール。
完全にカプセル化され、それが存在するページから独立するように設計されているため、オーバーライドさLoadViewState
れたものを親に入れました。UserControl
そこが問題なのか気になります。
asp.net - ASP.net - ページ処理時間をクライアント転送時間と区別する方法
ブログの 1 つのタイミング列には、当然のことながら、クライアントの送信タイミングが含まれます。異常分析のために、構築に過度に時間がかかったページと、クライアントの処理速度が遅かっただけのリクエストを区別したいと考えています。
バッファリングされたページについては、ASP.NET ページ ライフサイクル モデルを調べましたが、ページがクライアントにフラッシュされる前のページ処理時間だけをコード単位で測定できる場所がわかりません。
おそらく、私の目標は本番環境の監視 (テストや開発ではありません) であると言及すべきでした。さらに、後で分析するために、この測定値でウェブログに注釈を付けることを目的としています。現在、Response.AppendToLog() を使用してブログに自由に注釈を付けています。Response.AppendToLog() を使用したいという願望は、潜在的なログポイントをいくらか制限すると思います。たとえば、応答オブジェクトは Application_EndRequest では実行できません。
任意の洞察をいただければ幸いです。
asp.net - ASP.Netでは、どのページライフサイクルイベント中にビューステートが読み込まれますか?
ロード前のいつか発生することは知っていますが、正確にはどのイベント中に発生しますか?
asp.net - ライフサイクルのどの時点で GetConnectionInterface が呼び出されますか?
私はWebパーツにこのメソッドを持っています:
ここで、 を呼び出す前に、それがnull でないと_filterData
予測できる時期を知る必要があります。これはいつですか?
これを知らずに、私ができる最善のことは、_filterWebpart
依存するすべてのコードを の最後の行にOnPreRender
詰め込んで、最善を尽くすことです。
asp.net - ユーザーがページを離れたときに ASP.NET でページから情報を保存するにはどうすればよいですか?
私たちの CMS には、ユーザーがサイト階層を操作できるようにする場所があります (ページの移動、ページの追加と削除など)。
ドラッグ アンド ドロップを使用して、ページの移動を実装します。
各移動は、DB に保存され、多数の HTML ファイルにエクスポートされる必要があります。すべての動きでそれを行うと、ユーザーの速度が低下します。したがって、ユーザーがページを離れるときのみ、変更を HTML ファイルにエクスポートして、各変更を DB に保存して、ユーザーが好きなだけ遊んでもらうことが望ましいと考えました。
変更をコミットする準備ができたら、ユーザーに「公開」ボタンをクリックさせることを考えましたが、ユーザーがそれを忘れてしまうのではないかと心配しています。新しい場所 - アクションが完了しました。ボタンのもう 1 つの問題は、サイトの他の部分の動作と矛盾していることです (たとえば、ユーザーがページ内でテキストを移動すると、更新する HTML ファイルが 1 つしかないため、変更が自動的に保存されます)。
では、ページを離れたときにユーザーの変更を自動的に保存するにはどうすればよいでしょうか?
asp.net - Visual Studio: ASP.NET ページのライフサイクルに従ってページ イベントを自動的に並べ替えますか?
ASP.NET ページのライフサイクルに従って、既存のページ イベントを並べ替える最も簡単な方法は何でしょうか?
私は自分のイベントを読みやすくし、順番に近いイベントに簡単にスクロールできるようにしようとしています。
簡単な方法がない場合、インクリメンタル検索で実際のイベントを入力しなくても、マウスを使用せずにページ イベントにすばやく切り替える方法はありますか?
asp.net - ASP.NET Repeater ItemDataBound は PreRender イベントの後に発生しますか?
ASP.NET 2.0 Web フォームにリピーター コントロールがあります。
Page_Load
私が理解しているように、ページのすべてのデータ バインド コントロールは、とイベントの間のどこかでバインディング イベントを発生させPage_PreRender
ます。
ただし、私のリピーターのItemDataBound
イベントは、イベントの後に発生しているようPreRender
です。
すべてのイベントが発生した後にページ コントロールにアクセスできる方法はありますItemDataBound
か?
アップデート:
リピーターは、リピーター コントロールに設定され
ObjectDataSource
たDataSourceID
宣言で を使用します。DataSource ID またはオブジェクトは、ページのライフサイクル中にまったく変更されません。
asp.net - ページのレンダリング中に Ajax ローダーを表示する
これはおそらく簡単な質問ですが、ASP.NET で AJAX ローダーを使用して、ページの作成中に読み込みダイアログを表示するにはどうすればよいでしょうか?
現在、ProgressTemplate に読み込みメッセージと gif を含む UpdateProgressPanel が関連付けられた UpdatePanel があります。
現在、onLoad() がビジネスエンティティを取得して表示するページがあります。これを行っている間、AJAXローダーを表示したいと思います。
ページの読み込みには何もせず、onLoadComplete または unLoad() でトリガーされる非表示のボタンを設定し、ボタンのクリック メソッドが UpdateProgressPanel の表示を完了するのを待つ方がよいでしょうか?
asp.net - ASP.NET ページ イベント ハンドラーから他のコントロールを変更できるはずですか?
チェックボックスの CheckedChanged イベント ハンドラからラベル コントロールを無効にしようとしています。私はこれを行うことができるはずですか?
現時点で Enabled を false に設定すると、ページがリロードされても何も変わりません。Page_Load で同じことを行うと、変化が見られます。
明確にするために:
これは機能しません:
しかし、これは:
c# - クライアント ID はどのページのライフサイクルで生成されますか?
私はプログラムでユーザーコントロールにWebコントロールを追加していますが、controlIDをパラメーターとして渡すjavascriptイベントも追加していますが、clientIDは私が割り当てたものであり、asp.netが生成するものは含まれていません
親コントロールIDを追加することでこれを回避できます
クライアント ID はどのページのライフサイクルで生成されますか?