問題タブ [loadcontrol]
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 - プログラムでロードされた子コントロールからデータを取得する
データオブジェクトを操作するための2つのコントロールを作成しました。1つは表示用、もう1つは編集用です。
1つのページで、「ビュー」をロードし、次のUserControl
ようにデータを渡します。
それはすべて問題なく、コントロール内でそのデータを取得して表示できます。
今、私は編集のために同様のアプローチに従おうとしています。これには別のユーザーコントロールがあり(編集用のテキストボックスがいくつかあります)、ビューの場合と同じ方法で元のデータを渡します。
これも問題なく動作します。
問題は、このデータを取得することです。ユーザーがボタンをクリックすると、編集されたデータを取得して処理する必要があります。何が起こっているのかというと、コントロールがプログラムで追加されているため、ユーザーが変更したデータにはどこからでもアクセスできないようです。
これに対する解決策はありますか?それとも、物事を分離し、場合によっては再利用できないようにするこの方法は不可能ですか?
前もって感謝します。
c# - LoadControl - 文字列変数から
たとえば、ascx ファイルではなく DB にコントロール マークアップを保持する場合。文字列定数からコントロールをロードするにはどうすればよいですか?
(もちろん、コピーをディスクに保存したくない場合)
asp.net - ASP.NETボタンのクリックがキャッチされない(Repeaterに動的にロードされるユーザーコントロールのボタン)
一部のユーザー入力をキャプチャし、それをDBに保存するための[保存]ボタンがあるユーザーコントロールを作成しました。私はリピーターを使用して、ページ上にこれらのコントロールの数をレンダリングします-各質問ごとに[保存]ボタンがある複数の選択肢の質問のリストを想像してください。
このようにリピーターのItemDataBoundイベント内にユーザーコントロールをロードしています(コードを簡略化):
参考までに、行ごとに異なるコントロールを使用できるため、ItemTemplateでコントロールを指定するのではなく、実行時にコントロールをロードする必要があります。
ユーザーコントロールには、次のようなリンクボタンがあります。
...そして次のようなボタンクリックハンドラー:
問題は、[保存]ボタンをクリックすると、ページがポストバックされますが、lbnUpdate_Clickが呼び出されないことです。ただし、ページ自体のPage_Loadイベントが呼び出されます。
リピーターはユーザーコントロールの一部であり、ユーザーコントロールは別のユーザーコントロール内にロードされます(これはユーザーコントロールを多用するDotNetNukeサイトです)。[保存]ボタンのリンクは次のようになります。
asp.net - 動的に読み込まれたユーザー コントロールからボタン クリック イベントを処理する
空白のユーザー コントロール (子) があり、Page_Load 中にいくつかのテキスト ボックスとボタンを作成します。また、ボタンにイベントを追加します。
次に、そのユーザー コントロールを別のユーザー コントロール (親) のプレースホルダーから動的に読み込みます。両方のコントロールが正しくレンダリングされますが、ボタンをクリックするとイベントが発生しません。イベントの処理方法に関するアイデアはありますか?
子コード:
親コード:
子コントロールを直接使用すると (つまり、親コントロールなしで) クリック イベントが発生し、適切に処理されます。しかし、親コントロールを使用すると、デバッガーは UpdateButton_Click() 内のブレークポイントにさえヒットしません。
前もって感謝します。
asp.net - ASP.NET でのコントロールの動的読み込みと持続性
Page_Load イベントで一連のコントロールをロードしています。ただし、ページが読み込まれるたびにこれらのコントロールを再作成する必要があります。つまり、データを別の場所に保存する必要があります。これは面倒です。
を使用する必要があるように感じますがif (!IsPostBack) {}
、その方法や理由がわかりません。
対照的に、コントロールをマークアップに配置すると、コントロールは持続するように見えます。たとえば、マークアップのボタンは、その Text プロパティへの変更を記憶します (私は思いますか?)。
マークアップによって追加されたコントロールのように、動的に追加されたコントロールである種の永続性を維持するにはどうすればよいですか? これにより、多くの作業とフラストレーションが軽減されます。
ありがとう。
(私は長い間コーディングを続けてきましたが、ASP.NET をやればやるほど混乱していきます。これは、私が理解した作業方法とは正反対です :-P.)
asp.net - ASP.NET パフォーマンス: for-each での LoadControl の使用
データの表示方法を決定しようとしています。私が今持っているのは、リピーターに表示される製品のリストです。しかし、コードのメンテナンスのために、製品アイテムを別のユーザーコントロールに入れ、LoadControl を使用してデータベースの結果をループにロードしました。
製品コントロール自体は非常にシンプルで、タイトル、URL、評価などのいくつかのパブリック プロパティのみですが、これがパフォーマンスに影響するかどうかはわかりません。私はこことフォーラムでいくつかの読書をしましたが、特にこれらのコントロールが20または30を超える場合は、ベストプラクティスではないと言う人もいます.
では、この方法を使用すると本当にパフォーマンスが低下するのでしょうか、それとも 1 日あたり約 10.000 ヒットで問題ないのでしょうか。他の提案も大歓迎です。
asp.net - WindowsアプリケーションからのLoadControl
WindowsアプリケーションでLoadControlを実行することは可能ですか?
私はWebとして電子メールを生成していますが、月刊ニュースレターのWindowsサービスに移動したいと思います。
電子メールはUserControlsとして実装されるようになりました。このようにして、htmlユーザーはルックアンドフィールを簡単に変更できます。
現在のレンダリングの実装は次のようになります。
c# - Web サイトではなく C# Web アプリケーションでユーザー コントロールを動的に読み込む
DNN/SiteFinity に似た独自の Web サイト管理フレームワークを作成しようとしています (ムーチョ カット ダウン バージョンのみ)。
大きな (しかし一般的な) 機能の 1 つは、追加機能を提供するためにユーザー コントロールを動的に追加できることです。
動的にコンパイルされた「Web サイト」よりも、プリコンパイルされた .NET「Web アプリケーション」を使用したいと思います。
LoadControl メソッドを使用して、事前にコンパイルされた Web アプリケーションのユーザー コントロールを動的に追加することの意味は次のとおりです。
- セッション(状態サーバーを使用していると思われます)
- 他のすべてのユーザーはどうなりますか? ログアウトされますか?
- 一部のコンパイルの変更によるアプリケーション プールのリサイクル??
私は主に「Web サイト」を使用しているため、事前にコンパイルされた Web アプリケーションにユーザー コントロールを動的に追加したことがあるかどうかはわかりません。サイトが事前にコンパイルされていても、動的に追加されたユーザー コントロールが必要に応じて動的にコンパイルされることを意味しますか?
編集
また、ユーザー コントロールはアプリケーション ディレクトリの外にあるため、Web デプロイ中には公開されないことも忘れていました。それらは別の Web サイト経由でアップロードされます。
ありがとう!ダン。
user-controls - 同じ UserControl を複数回動的に追加する
ユーザーが日付を入力できるようにする単純な UserControl を作成しました。当面の間、ID="tbDate" の Textbox は 1 つだけです。(たとえば) を介してこのコントロールを複数回動的に追加しようとしてplaceholder.Controls.Add(LoadControl())
いますが、「同じキーを持つエントリが既に存在します」というエラーが表示されます。おそらく、要素の ID を変更することはできますが、ユーザーが入力した値を取得するのは困難です。
誰かがこれについて考えを持っていますか?
ありがとう!