問題タブ [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 - ASP.NET ページのどこで処理を行う必要がありますか?
私は ASP.NET に非常に慣れていません。いくつかの問題に頭を悩ませた後、間違ったことをしているのではないかと思っています (そうする悪い習慣があります)。ASP.NET がどのように動作するかについて学ぶことに興味があります。
私の質問は次のとおりです。どこでどの処理を行うかを決定する際にガイドとなるドキュメントはどこにありますか?
いくつかの具体例として(これらに対する回答に興味がありますが、より一般的な回答を提供するリソースを指摘したいと思います):
- ではどのような処理をすればよい
Page_Load
ですか? Load
イベントはどのような処理をすればよいですか?- で何ができます
Page_Unload
か? - 物事はどのような順序で行われますか?
- 各イベントはいつ発生しますか?
- ページのライフサイクルとは何ですか?
編集:この質問は、一部の人にも役立つ場合があります。
web-applications - HttpServletRequestからpageContextを作成します
これはおかしなことに聞こえるかもしれませんが...サードパーティのAPIと統合していますが、残念ながら、pageContextオブジェクトのみを取得するユーティリティクラスがあります。少し覗いてみると、pageContextで多くのことを行っていることがわかりました。 ...HttpServeletRequestからpageContextにアクセスまたは作成する方法はありますか。
asp.net - ASP.NET 複数の引数を使用したサーバー側イベントのトリガー
恐れ入りますが、かなり長い質問があります。私はASP.NETにかなり慣れていないので、ご容赦ください。多数のオプションを一覧表示する ASP.NET ページのコントロールを作成しました。各オプションには 2 つのクリック可能な領域があります (わかりやすくするためにボタンと呼びます)。1 つはオプションを選択し、もう 1 つはオプションを非表示にします。
これは問題なく動作します (私は IPostBackEventHandler インターフェイスを実装しています)。ここでの問題は、どの HTML 要素がクリックされたか、つまり RaisePostBackEvent メソッドでどのアクションを実行する必要があるかを見つける方法がないように思われることです。
私がやろうとしたことは、次のような新しいクラス (HtmlDivControl) を作成することです。
ここで、div1 と div2 を HtmlGenericControl ではなく HtmlDivControl にし、Click プロパティをメソッド (デリゲート) に設定し、div (div1 または div2) 自体を GetPostBackEventReference メソッドのコントロールとして渡しました。今回は、div を区別するだけでなく、実行するアクションを事前に決定することもできました。ただし、コントロールの RaisePostBackEvent は PageLoad の後に呼び出されます。したがって、私が今抱えている問題は、イベントが処理される前にオプション コントロール全体がレンダリングされることです (したがって、たとえば非表示にする必要があるオプションは、レンダリング後に実際の非表示が行われるため、そうではありません)。RenderOptions() 呼び出しを PageLoadComplete メソッドに移動しても、div コントロールがまだ存在しないため、役に立ちません。
ここで非常に基本的な何かが欠けていると確信しています。しかし、誰かが私がこのようなことにどのようにアプローチすべきかを説明してもらえますか?
ps ここにアンダースコアを書くにはどうすればよいですか? テキストを斜体にするために使用されますか? エスケープ文字はありますか?
asp.net - ASP.NET: Response.Redirect(...) の後のコードはどうなりますか?
Response.Redirect() は現在実行中のメソッドを中止させますか? または、Response.Redirect() の後のコードも実行されますか?
(つまり、Response.Redirect の後に Sub を返す/終了する必要がありますか?)
.net - 最初に処理されるもの: aspx または aspx.vb コード?
何が最初に処理されるのだろうか: aspx 部分に配置されたコード (サーバー タグ <% %> を使用) またはコード ビハインド。値がある場合は何も取得しません。
aspx コードを含むページのライフサイクルについて説明している記事など、誰かが私にいくつかの方向性を示すことができますか?
ありがとう!
asp.net - Response.Write と <%= %> の実質的な違いは何ですか?
サードパーティのコンポーネントが干渉しているように見えResponse.Write
、その中のコンテンツResponse.Write("")
が他の HTML の前にレンダリングされるという問題に遭遇しました。例えば:
としてレンダリングされます
<%= %>
ただし、ブロックを使用してレンダリングされたコンテンツはすべて正しく機能します。以下のコードは完全に機能します。
私はいつもそれ<%=
が単に の省略形だと思っていましたResponse.Write
。MSDN で見つけたものから、最終的には Response.Write に変換されることがわかりましたが、その間にいくつかの手順があるよう<%=
です。
<%= %>
2つのレンダリングが異なる理由を推測したり、ブロックの処理方法を説明するドキュメント/情報を教えてくれたりする人はいますか?
更新:問題の原因となったコントロールは、2009 Q1 リリースの Telerik AjaxManager コントロールでした。Q2 コントロールにアップグレードすると、問題が解決しました。
残念ながら、ソースにアクセスできないため、コントロールがこの動作を引き起こした理由を突き止めることができませんでした。問題は解決されましたが、そもそもなぜそれが存在したのかについてはまだ非常に興味があります。
c# - 具体的な実装を参照するASP.NETBasePage
このように設定されたページがあります
ベースページ内
私がする必要があるのは、実際に(TView)_Defaultをキャストすることです。私のGetView()メソッドを使用すると、実際にその結果で終了します。ベースページの中ではできません
これは実際にはViewBasePage<TPresenter,TView>
そうなので、TViewだけに直接キャストすることはできません。
だから私の実際の質問は、ハッキーが少ないと感じる方法で結果を達成するための代替方法はありますか?これが主要なオプションである場合、このようにページを処理することによって本当に心配する必要があるものはありますか?
編集:
私が書き留めようとしている正確な部分は
これは、このコンテキストでページに戻って参照できるようにするためのかなりひどいハックだと思います。
asp.net - Asp.Net - ページの更新 (F5) で TextBox の初期値が復元されない
これは簡単なコードです:
最初のロード。テキストボックスの状態は「オリジナル」です。
手動で、値を「オリジナルではありません」に変更します。
F5を押します。この線:
txt.Text = "オリジナル";
実行されますが、入力値は「オリジナルではありません」のままです
しかし、私がアドレスバーに入るとヒットしたとき。値が「オリジナル」に変更されます。
アドレスの末尾に '#' が含まれている場合 (jquery クリックを使用..)
その後、アドレスバーを押しても、値 は「オリジナルではありません」のままです
asp.net - ClientIDにアクセスすると、ポストバックが中断されます
ASP.Netを使用しているときに、絶望することがあります。これは、あるべきではない別の問題です。
WebフォームにはASPテーブルがあります。ASPテーブルには、変更を加えているユーザーコントロールがあります。ASPテーブルには、テキストボックスがあります。これまでのところ、異常なことは何もありません。
背後のコードでは、Page_Loadの一部として、JavaScriptを登録するためにテキストボックスのClientIDにアクセスする必要があります...そのため、JavaScriptは必要なすべてを実行しているようです。みんな幸せです。
いいえ、明らかに誰もが満足しているわけではありません。ASP.Net自体は非常に不幸です。
ClientIDにアクセスすると、ソースに表示されるIDは次のとおりです。
ClientIDにアクセスする行をコメントアウトすると、IDは次のようにレンダリングされます。
ClientIDにアクセスする行は次のようになります。
これ自体は気になりませんが、ポストバックを壊すという事実は気になります!そのテキストボックスに何かを入力して送信ボタンを押すと(ページに送信ボタンがあります!)、ページが再読み込みされますが、デフォルト値がテキストボックスに戻され、元の値が完全に無視されます。狂気-私は特に奇妙で普通ではないことを何もしていませんが、なぜそれがポストバックを壊したのですか?
asp.net - フォームと scriptmanager を使用したカスタム サーバー コントロール
私は一連のasp.netサーバーコントロールを構築していますが、そのうちの1つである本質的にコンテナコントロールに、フォームコントロール、スクリプトマネージャー、および更新パネルを追加したいと考えています。これは可能ですか、またはページ/コントロールのライフ サイクルの理由から、Web プロジェクト用に持っているページ基本クラスでこれらを作成する必要がありますか?
マスターページは使用していません。
よろしく、 アンドリュー