問題タブ [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.
asp.net - ビューステートを使用せずに複合コントロールのポストバック間で値を保存する方法
キャッシュ内の値を参照するいくつかのプライベートフィールドを持つ複合コントロールがあり、これらのプライベートフィールドはコンストラクターメソッド中に呼び出されます。文字列キーはキャッシュ内の値を識別するために使用されるため、コントロールがインスタンス化されたときに使用できるようにその文字列キーを保存する方法が必要であり、それを参照できる必要があります。変更せずにポストバック。
また、このキーはコントロールが最初にロードされたときに生成されますが、それ以降は再度変更しないでください。
どうすればこれを達成できますか?
すでにビューステートに保存しようとしましたが、コントロールがインスタンス化された時点ではビューステートがまだ使用できないため、機能しません。
プライベートフィールドを使用して、コンストラクターでPage.IsPostbackをチェックしようとしましたが、ポストバックでない場合はプライベートフィールドに値を割り当てますが、その後のポストバックでは値が失われ、再割り当てできません。これは自動生成されたGUIDであるため、Page.IsPostBackに再度表示されます。
これは、人々が以前にやらなければならなかったことでなければなりません。
c# - asp.net c#で子を削除せずに親コントロールを削除するには?
コンテナーから子コントロールを削除せずに、親コントロール (この場合はスパン) を削除したいと考えています。どうすればasp.net c#でこれを達成できますか?
ここでコードを見ることができます:http://pastebin.com/9NiriWXN
注: 「newsright」コントロールを簡単に見つけて、その親 (この場合はスパン) を返すことができます。
python - IronPython でのカスタム WPF コントロールの作成: 標準コントロールから構成されるコントロール
ここにあるその他のカスタム コントロールの作成に関する質問や、他のオンライン リソースを見てきましたが、C# コード ビハインド ファイルを必要としないカスタム コントロールを作成する方法がわかりません。私のプロジェクトは純粋な IronPython であるため、C# コード ビハインドを統合する方法がわかりません。
私がやろうとしていることはそれほど複雑ではありません。乱雑なスタイリングやレンダリング変換などはありません。これらの複合コントロールを手続き的に追加/削除できるように、私が持っている既存のものの束の複合コントロールを作成しようとしているだけです。たとえば、次の GroupBox があります。
ご覧のとおり、ヘッダーに TextBox と ComboBox を持つ単なる GroupBox であり、その本体にはいくつかの CheckBox を含む UniformGrid が設定されています。XAML は次のとおりです。
コントロールの合成、多数のコントロールを単一のコントロールにグループ化することについて読んだことがあります。この GroupBox 全体を、プロシージャルに追加または削除できる単一のコントロールにしたいと考えています。IronPython でこれを達成するにはどうすればよいですか?
c# - ASP.NETSystem.Web.UI.WebControls.PlaceHolderのコンテンツを取得する
InnerPropertyであるPlaceHolderを持つサーバーコントロールがあります。クラスでレンダリングするときに、PlaceHolderにあるはずのテキスト/HTMLコンテンツを取得する必要があります。フロントエンドコードの例を次に示します。
コンテンツを取得する方法がわからない場合を除いて、これはすべて正常に機能します。PlaceHolderクラスによって公開されたレンダリングメソッドが表示されません。サーバーコントロールのコードは次のとおりです。
何か案は?前もって感謝します。
.net - 複合サーバーコントロールをキャッシュするにはどうすればよいですか?
システムキャッシュオブジェクトHttpContext.Current.Cacheを使用して、カスタムサーバーコントロールをキャッシュに保存するにはどうすればよいですか?
現在、次のようなコードがあります。
これは、OnInitメソッド内にあります。私の質問は次のとおりです。
- キャッシュコードを配置するためのより良い方法はありますか?
- 上記のようにサーバーコントロールへの参照を渡すことで、サーバーコントロールをキャッシュできますか?または、レンダリングされたhtmlをキャッシュする必要がありますか?
サーバーコントロールをプログラムでキャッシュする方法の例をいただければ幸いです。ありがとう。
asp.net - コンポジットコントロールのMSDNの例
コンポジットコントロールに関するMSDNサンプルコードを読んでいて、理解できないことが1つあることがわかりました。ここのコードを使用して、プロジェクトでLabelTextBoxコントロールを作成し、ページに追加しました。コントロールのテキストボックスに新しい値を入力すると、サーバーにポストバックしたときにボタンクリックイベントに古い値が含まれます。ただし、ページの処理を続行できるようにすると、ページは新しい値でリロードを終了します。これは悪い例ですか、それとも何かが足りませんか?ボタンイベントが発生する前に、変更された値をコントロールにロードするべきではありませんか?
複合制御コード:
結果を変更せずに、宣言的およびプログラム的にコントロールを作成してみました。プログラムによる作成コード:
c# - System.Web.UI.UserControl基本クラスからの継承
まず、これが可能かどうか疑問に思います。私はこれについてインターネットの周りでわずかな不平を読んだが、私は完全に確信していなかった。
私のシナリオ:すべてのチャートに必要ないくつかのメソッドを持つ基本チャートクラスがあります。
このBaseChartにはいくつかのマークアップもあります-背景色の設定など。BaseChartを継承するすべてのチャートは、この開始マークアップを使用し、それに基づいて構築できる必要があります。
次に、これを実行したいと思います。
ここで、HistoricalLineChartは、マークアップのないWebユーザーコントロールです(例:「HistoricalLineChart.ascx」)。
問題は、HistoricalLineChartのスコープ内にあるときにChart1が定義されていないことです。ここで欠けているものはありますか?
ありがとう。
asp.net - ASP.NET複合コントロールはイベントをバブルしませんが、テンプレートはバブルします
私はASP.NETアプリケーション用の複合コントロールを開発していますが、たまたま最初にITemplateを使用して子コントロールを作成するためのコントロールを開発しました。ルートコントロールで処理される一連のボタンが子コントロール内にあります。ボタンのCommandName/CommandArgumentプロパティでOnBubbleEventを使用して、すべてを接続しています。そして、すべてがうまく機能しました...テンプレートをコントロールに変更するまで。
テンプレートをコントロールに変換し、InstantiateIn(this)ではなくルートコントロールでControls.Add(new ChildControl())を呼び出すと、イベントバブリングが機能しなくなりました。
なぜですか?
(すべて、そして私はすべてを意味します、それ以外は同じです。)
asp.net - どのコントロールを選択しますか?問題であるWebControlまたはCompositeControl
AutoCompletes、TagCloudsなどのカスタムコントロールを作成するのを楽しみにしています。私のプロジェクトでツールとして使用するために、私がそれらの1つを必要とするたびに心配する必要はありません。
私には2つの選択肢があります。
-WebControl
-CompositeControl
これら2つは、他のアプリケーションで再利用できます。
私はいくつかのドキュメントを読みました、そして私は本当に疑問です、私はどちらを選ぶべきですか?
asp.net - カスタム複合コントロール
FormView と 2 つのカスタム サーバー コントロールを持つ複合コントロールを作成しました。コントロールは正しくレンダリングされます。ツールボックスからページにコントロールを追加するときに、一般的なフォームビューの ItemTemplate を編集するときに (小さな矢印の頭をクリックして)、複合コントロールの FormView ItemTemplte を編集したいと考えています。
アイデアはありますか?