問題タブ [composite-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.

0 投票する
1 に答える
1223 参照

c# - リストビューを複合コントロールに変換する

以下のリンクは、最も基本的な形式のリストビュー複合コントロールを示していますが、これを私がやろうとしていることに拡張することはできません。

コードでリストビュー テンプレートを定義する方法

私のリストビューには、2 つのフィールドを持つ 1 つのテーブル行があります。以下に示すように、最初のフィールドには 1 つの要素が含まれ、2 番目のフィールドには 2 つの要素が含まれます。

したがって、これを変換するには、レイアウト テンプレートと ItemTemplate に ITemplate の InstantiateIn メソッドを使用する必要があります。データは、DataBinding イベントを使用して itemtemplate にバインドされます。

現時点での私の質問は、ItemTemplate クラスをセットアップし、上記の ListView ItemTemplate から値をバインドする方法です。これは私がこれまでに管理したものです:

例として、ListView で使用されるコード ビハインドの関数の 1 つを次に示します。

概要

以下を複合コントロールに変換するにはどうすればよいですか。

GetURL(コンテナ.データアイテム) GetImage(コンテナ.データアイテム)

GetURL(Container.DataItem) DataBinder.Eval(Container.DataItem, "タイトル")

convertToShortDate(DataBinder.Eval(Container.DataItem, "ActiveDate"))

DataBinder.Eval(Container.DataItem, "StandFirst")

0 投票する
1 に答える
314 参照

c# - コーダーがオプションから選択できるようにする複合コントロール プロパティ

質問はタイトルにありますが、次のような通常のサーバーコントロールを使用するときに明確にするために

textbox のプロパティを使用すると、ドロップダウン リストから選択できます (たとえば、visibility=...true または false)。これを複合制御で複製するにはどうすればよいですか?

質問があったので追加されたコード:

誰かが列挙型の使用を提案しましたが、これを設定する方法がわかりません:

0 投票する
2 に答える
112 参照

c# - 抽象コントロールに基づく複合コントロールのオーバーライドの正しい順序

ダイアログボックスを表示するためのC#複合Webサーバーコントロールのセットを作成しています。

基本的なレイアウトやコントロールのタイトルなどを処理する1つの抽象クラスが必要です。次に、特定のポイントで子コントロールをレンダリングする一連の派生クラスが必要です。

CompositeControlのライフサイクルと、いつどのメソッドを使用するかがわからない場合を除いて、派生クラスによって実行される抽象クラスによって処理されるメソッドrenderOpeningHtmlと、抽象クラスによって処理されるメソッドの3つの異なるメソッドを予測します。renderCustomControlsrenderClosingHtml

0 投票する
1 に答える
420 参照

c# - CompositeControl での viewstate に基づくコレクションの永続化

長い一日だったかもしれませんが、CompositeControl で ASP.NET ViewState に基づくコレクションを永続化するのに問題があります。簡略版は次のとおりです。

ボタンがクリックされると、イベント ハンドラ btn_Click は正常に実行されますが、MyObjectCollection のセッターは呼び出されないため、new MyObject() は永続化されません。

私はちょうど金髪の瞬間を過ごしていると思います。手伝ってくれる人いますか?

0 投票する
2 に答える
882 参照

asp.net - DropDownLIst を使用して複合コントロールにリスト アイテムを提供する機能を追加する

DropDownList (Label も含む) の複合コントロールを作成しています。

コントロールをドロップダウン リストのように使用できるだけでなく、DDL の前のページにラベルを投げることもできます。

私はこれを TextBoxes に対して完全に機能させていますが、コレクション (またはデータソース) コンポーネントが DDL を設定するため、DDL に苦労しています。

基本的には、次のようなことができるようになりたいです。

問題は、コントロールの DropDownList クラスを拡張していないことです。そのため、その魔法を単純に操作することはできません。現在はただのコントロール(MyDropDownList)を、タグ内のリスト項目を受け入れるものに変える方法を理解するために、いくつかのポインターが必要です。System.Web.UI.UserControl理想的には、それをデータソースにプラグインできるようにしたいと思います(通常の DDL が提供するのと同じ機能)。

通常の DDL を拡張するだけでうまくいきませんでしたが、Labelコンポーネントを飛ばすことができませんでした。

0 投票する
1 に答える
435 参照

jquery - jquery を複合コントロールに追加する

テキストボックスがあり、jquery プラグインを使用して透かしを追加する複合コントロールを作成しています。このような基本的な機能があるとしましょう

上記を挿入するために何をする必要があるかを誰かが提案できますか?

ティア!

0 投票する
2 に答える
979 参照

asp.net - CompositeControl 内の DropDownList は、選択した項目を記憶する必要がありますか?

以下を考えると

リスト内のアイテムは適切に保持されていることがわかりましたが、別のコントロールがレンダリングされてからこのコントロールが再度レンダリングされると、最後に選択されたアイテムが保持されません。(代わりに、リストの最初の項目が常に選択されます)

最後に選択したアイテムを ViewState に自動的に保持する必要がありますか?それとも期待しすぎているのでしょうか?

0 投票する
1 に答える
2203 参照

c# - Asp 複合コントロールの子コントロール (ラジオボタン) がチェック値を失う

動的に作成された質問とオプションを使用して、asp.net でクイズ コントロールに取り組んでいます。メイン コントロールは基本的に、すべての質問を保持するコンテナです。デザイン ビューでは、ユーザーはカスタム コレクション エディターを使用して質問を追加できます。コレクション エディター リストに質問を追加するたびに、質問タグが生成されます。各質問オブジェクト内には、ラジオボタン コントロールを継承するラベルと多数のオプション オブジェクトがありますこれらの各 Option オブジェクトは、ユーザーが各質問に対して選択できるオプションを順番に表します。

これはすべて機能しますが、各ラジオボタンのチェック済みの値を読み取れるようにしたい部分にいることを除いて。このクイズをページ内に実装して質問を確認したい場合、このページにボタンを配置し、コントロール内にある次の関数を呼び出します。

$

ただし、ラジオボタンを選択して送信ボタンをクリックすると、すべてのオプションで Checked 値が常に false になります。基本的に、ポストバック後にチェックされた値が失われ、解決しようとして立ち往生しています。誰かが私を正しい方向に向けることができれば幸いです。

0 投票する
1 に答える
933 参照

c# - 複合コントロールでビューステートを読み込めませんでした

「Type」と呼ばれるプロパティの 1 つの値に基づいてコントロールを変更する複合コントロールを作成しました。この「Type」プロパティが設定されると、コントロールの存続期間中は再度変更されないため、「Type」プロパティの値の結果としてレンダリングされるコントロールは変更されません。

多くのインターネット投稿で推奨されているように、LoadViewState メソッドと SaveViewState メソッドをオーバーライドしましたが、「ViewState の読み込みに失敗しました」というエラーが引き続き表示されます。コントロールは最初の読み込みで適切にレンダリングされますが、ポストバックが行われると、「ViewState の読み込みに失敗しました」というエラーが生成されます。

複合コントロールのコードの一部を次に示します。

カスタム コントロールを作成する「パーサー」ファイルのコードは次のとおりです。

コントロールをテストするために使用している aspx ページのコードは次のとおりです。

コードビハインド:

コントロールを if (!Page.IsPostBack) に入れることだけを試みましたが、ポストバックにコントロールをまったく表示しません。私は何を間違っていますか?

更新:だから私はこれを複合コントロールに追加しました:

そして、「ビューステートの読み込みに失敗しました」というエラーは表示されなくなりましたが、子コントロールのビューステートがポストバック間で保存されていないようです。私の複合コントロールのコントロールの 1 つは、ページングが有効になっているグリッドビューで、次のページをクリックすると 2 ページに移動しますが、3 ページや 4 ページには移動しません。でも「最後のページ」「最初のページ」には問題なく行きます。ただし、次のページと前のページは正しく機能しませんが、エラーも発生しません。アイデア?

0 投票する
2 に答える
1173 参照

c# - ビューステート複合コントロールの読み込みに失敗しました

実行時のプロパティの 1 つの値に基づいて、子コントロールの異なるセットを含む複合コントロールがあります。ポストバックがあるたびに、次のエラーが発生します。

私はこの問題をグーグルで検索し、子コントロールのインスタンス化の順序を繰り返し変更しましたが、成功しませんでした。ここで私が間違っていることを誰かに教えてもらえますか? 複合コントロール内のコントロールは、それ自体でエラーなく正しく機能します。

複合コントロールは次のとおりです。