問題タブ [custom-server-controls]
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 - カスタム サーバー コントロール: ASPX コードでイベントを宣言的に指定する
現在、いくつかのカスタム ASPX サーバー コントロールに取り組んでいます。もちろん、これらのコントロールもイベントを公開します。1 つの可能性は、コードにハンドラーを登録することです。より具体的には、カスタム サーバー コントロールが存在するページに...のように登録します。
しかし、サーバー コントロール コードでイベントを公開するにはどうすればよいでしょうか。これらのイベント ハンドラーを (プロパティ エディターから) ASPX コードで直接宣言できます。
どうもありがとう、
じゅり
.net - 単一のオブジェクトに相当する.Netリピーター?
誰かが以下の要求を解決するための最善の訴因を推奨しようとすることができますか?
私は、Repeaterクラスをベースとして使用して多数の拡張クラスを作成しました。これを行うことの柔軟性、容易さ、および結果が気に入っています。私が今やりたいのは、単一のオブジェクトに対して同様のカスタムWebコントロールを作成することです(つまり、データソースがIListSourceまたはIEnumerableを実装していません)。リピーターを拡張し、オブジェクトを保持する1つのアイテムのリストを使用してデータソースを設定し、データバインディングを行うことで、達成しようとしている構造を作成しました。
これは物事の周りの小さなハックのように見えます、私がしたいことは次のとおりです:
このカスタムコントロールをさまざまな変数とプロパティで定義できるようにしたいと思います。その結果、次のタイプのレイアウトが可能になります。
この実装はWebFormsを使用して実行する必要がありますが、上記を考慮するとMVCを使用するのが理想的なアプローチのようです。これを行うことで、リフレクション(特定のインターフェイスを実装するすべてのクラスで使用できる)を使用する柔軟なWebControlを作成し、必要なたびに3行のコードの後ろ(上)で必要なフォームを生成します。
オブジェクトを取得してそれに応じてデータソースを設定し、時間を節約するカスタムリピーター(DataObject)にプロパティを追加する必要がありますか?それとももっと良い方法はありますか?
これがすべて理にかなっていることを願っています!
乾杯、スティーブ
c# - .netページイベントの起動順序の変更
わかりました、これは私が午前中ずっと問題を抱えていた本当に厄介なバグです!.
多くのプロジェクトで使用したカスタム コントロールがあります。このコントロールには、呼び出しページ onload によって Viewstate に設定および格納されるプロパティがあります。コントロールは、カスタム コントロールの CreateChildControls() メソッドのプロパティで childcontrols を設定します。
通常、ポストバックで通常どおり Page_Load イベントが発生し、次にページ上のコントロールの CreateChildControls メソッドが発生します。
奇妙なことに、サイトにログイン システム (カスタム メンバーシップ プロバイダー) があり、ユーザーがログインすると、最初に CreateChildControls() メソッドが起動し、次に Page_Load が起動するため、コントロール プロパティが間違っています (前のポストバックから設定)。 )
イベントが別の順序で発生する可能性はありますか? すべてのページイベントは同じ順序で発生すると思っていましたが、ログインするとその順序がどのように変わるかわかりません。
更新:問題は、EnsureChildControls() を呼び出していないようですが、どこで呼び出す必要があるかわかりませんか? 子コントロールの設定に使用されるいくつかのプロパティがコントロールに設定されている場合、EnsureChildControls() をいつ呼び出す必要がありますか?
c# - 一般的なServerControl構文?
サーバー制御を行う方法はありますか
登録してaspxページで使用できるように
明らかに、デザイナーはこれを好まないのですが、型パラメーターを使用して非ジェネリックラッパーを作成する以外に、これを回避するクールな方法はありますか?
.net - カスタムサーバーコントロールにより、UpdatePanel内で完全なポストバックが発生します
UpdatePanelに配置するまでは正常に機能するように見えるカスタムサーバーコントロールがあります。UpdatePanel内に入ると、引き続き正常に機能しますが、カスタムサーバーコントロールがポストバックを実行すると、UpdatePanelは完全なポストバックを実行するようになりました。
UpdatePanel内でカスタムサーバーコントロールに非同期ポストバックを実行させるために何かする必要がありますか?
完全なポストバックを引き起こしている関連コードは次のとおりです。ecs:Pagerコントロールは、UpdatePanelにある場合でも、OnCommandイベントで完全なポストバックを発生させるカスタムコントロールです。
c# - 簡単な方法で Web サーバー コントロールを継承しますか?
リピーターを一種のページング タグクラウドとして使用しています。そのために、Page、RowCount などの単純なプロパティを Page の ViewState に追加しました。
そこに属していないように感じますが、サーバーコントロール、デバッグ、dll、および展開で悪い経験をしました。
Repeater クラスを継承し、いくつかの ControlState/ViewState プロパティを追加して、ToolBox から直接ドラッグした Repeater として正確に使用できるようにすることはできますか?
ここでは、次の単純なクラスがあります。
新しい WebControlLibrary プロジェクトを作成せずに、この cs ファイルを App_Code フォルダーに置き、期待どおりに動作させることはできますか?
ありがとう。
asp.net - ASP.NET サーバー コントロールからパッケージ化された JavaScript をページに追加しますか?
実行時ではなく設計時に aspx ページに出力される JavaScript をパッケージ化する ASP.NET サーバー コントロールを作成することはできますか? 「デフォルト」の JavaScript を持つコントロールを作成しようとしています。RegisterClientScriptBlock を使用して jvascript を追加できますが、Web 開発者は javascript を変更できません。このシナリオでは設計時に使用できません。ツールボックスのプロパティを変更して、Web 開発者がコントロールをページにドロップしたときに、JavaScript が別のスクリプト タグにも追加されるようにする方法はありますか?
asp.net - カスタム コントロールのレンダリング動作をスパンから変更するにはどうすればよいですか
カスタム コントロールを作成すると、常に HTML スパン要素としてレンダリングされます。たとえば、divに変更するにはどうすればよいですか?
c# - ASP.NET の HierarchicalDataBoundControl を実装する
ASP.NET の階層データ バインド コントロールを実装したいと考えています。
階層コレクションを作成するための基礎として、カスタム コレクションへの IHierarchy サポートの実装を使用しました。コレクションの HierarchicalDataSourceControl も作成しました。すべてが機能します。ASP.NET TreeView にバインドでき、データが正しくレンダリングされます。
しかし、私は HierarchicalDataBoundControl にこだわっています。私は例を見つけましたが、私はまだ c# / .Net でそれらを理解するには新しすぎます。例を実装する方法がよくわかりません:
または
HierarchicalDataBoundControl クラス
このようなコントロールを実装するためのヒントやより良い例はありますか?