問題タブ [dynamic-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.
c# - ASPページは現在の焦点を絞った制御を取得します
つまり、私が持っているのは、動的に作成された一連のテキストボックスであり、ユーザーがデータを入力し、タブアウトまたはクリックアウトすると、いくつかの計算が実行されます。ページが投稿された後、バックコントロールのフォーカスは失われます。私が必要としているのは、データが入力されたコントロールではなく、タブで移動またはクリックされたコントロールにフォーカスを戻すことができるようにすることです。
c# - C#で動的に作成されたWebコントロールに名前を付けて検索する方法
テーブルに追加する各テキストボックスに一意の名前を追加しようとしています。
私はもう試した:
生成されたhtmlには、テキストボックスの属性として私の名前と自動生成された名前の両方が含まれます。
残念ながら、FindControl
自分の名前でを実行すると、自動生成された名前で検索することはできますが、null参照を取得します。
自分の名前でコントロールを見つけるにはどうすればよいですか?コントロールの名前が自動生成されるのはいつ/なぜですか?
成功したコード:
p>失敗したコード:
p>asp.net - .aspxページを動的に生成する
ページがあり.aspx
ます。いくつかのボタンとドロップダウンコントロールがあります。
特定のボタンをクリックすると、動的に生成する必要のあるページにリダイレクトする必要があるとします。この動的に生成されたページには、もちろん動的なコントロールとイベントがあります。つまり、基本的に私が知りたいのは.aspx
、既存のページのボタンクリックをクリックしてこの新しいページを生成する方法と、生成されたページのコードビハインドに動的コントロールを追加する方法です。
c# - ASP.NET で動的コントロールの状態を維持する方法は?
ポストバックが発生すると、コントロールが失われます。ポストバックの代わりに Ajax を使用できず、分離コードから動的コントロールを作成できません。
誰でもそれについて何か提案をしてもらえますか?
asp.net - ユーザー入力に基づいて永続的な動的コントロールを追加する方法 (最初のページの読み込みではありません)
ページの最初の読み込み時とその後のポストバック時に動的コントロールを作成して永続化することには慣れていますが、ユーザーが開始した次のシナリオで問題が発生しています...
私のデモでは、プレースホルダー、2 つのボタン、およびリテラルがあります。
ユーザーが追加ボタンをクリックして応答できるようにしたいので...
_Count は、新しいコントロールに一意の ID を持たせるための静的メンバー変数です。Page_Init で動的コントロールを再構築する必要があることはわかっていますが、問題は、すべてのポストバックで 2 つの新しいリテラル コントロールになってしまうことです。また、Text プロパティが新しいコントロールに配置された場合、コントロールが再構築されると失われます。
では、複数のコントロールを追加しないようにするにはどうすればよいでしょうか。また、これらのコントロールを再構築するときに、新しく追加されたプロパティを保持するにはどうすればよいでしょうか?
以下を使用して応答を検査します
Page_Init での再構築のために、それ自体が別の不要なコントロールを追加します
c# - ASP.NET C# を使用した Panel コントロールでの動的 FileUpload コントロール コレクションの反復処理
Panel に追加する、動的に生成された FileUpload コントロールの値を取得しようとしています。
レコード セットのループ中にコントロールを作成します。
このボタンを使用してフォームを送信するまで、すべてが正常に機能します。
私はこのように登録します(Page_Load):
これを行うのは、Web サイトで MasterPage/ContentPage 設定を使用しており、ほとんどすべてが AJAXification の目的で UpdatePanel 内で行われるためです。HTML ビューで FileUpload コントロールを明示的に指定すると、100% 機能することに注意してください。
フォームが送信されると、次のように Panel を反復しようとします。
例外として、Panel は 1 つのコントロールのみを返すように見えます: ページのコンテンツ プレース ホルダーと他には何もありません。誰かがこれについていくつかのアイデアを持っていますか?
asp.net - 動的に作成されたコントロールまたは非表示または表示された静的コントロール
構成ファイルのエントリ数に応じて、いくつかのasp:TextBoxフィールドを表示するASP.Netページのセットがあります。フィールドの数が10程度を超えることはないことを私は知っています。それを考えると、マークアップで十分な数のテキストボックスを宣言する必要がありますか、それともコードビハインドでテキストボックスを動的に作成する必要がありますか?
それぞれのアプローチには長所と短所があり、それが私が選択するのに苦労している理由です。動的アプローチの利点は、アプリケーションがより柔軟になることです。フィールドの数が10を超えても、アプリケーションを拡張できます。欠点は、マークアップとロジックを混在させていることです。アプリケーションは、テキストボックスとリテラル(ラベル用)をページに挿入しています。すべてのフィールドが.aspxファイルにあるわけではないため、これにより将来のメンテナンスが困難になります。
大きなフォームを宣言してから、必要なフィールドを表示または非表示にすることの利点は、ロジックとマークアップを分離しておくことです。もちろん、欠点は私が柔軟性を失うことです。フィールドの数が予想を超える場合(そしてそのリスクがわずかにある場合)、フィールドを追加するためにアプリケーションに再度アクセスする必要があります。
では、StackOverflow、どちらを選びますか?さらに重要なことに、なぜあなたはあなたのアプローチを選ぶのですか?
asp.net - ページのライフサイクルのどこで動的コントロールを安全にロード/削除できますか?
説明するだけで2時間かかる非常に具体的で厳格なエンドユーザー要件のため、ASP.NETで動的フィールドを使用しています。言うまでもなく、私は要件をなくすことはできません。
とにかく、私には実用的な解決策があります。コントロールのViewStateのロード、レンダリング、または維持に問題はありません。これは私のOnLoadがどのように見えるかです:
動的フィールドが必須、無効、またはオプションであるいくつかのbizロジックを実装するには、動的コントロールの投稿された値(つまり、ViewState)を取得してから、実際にページコントロール階層に追加する必要があります。
それは私が推測する鶏が先か卵が先かという問題のようなものです。ASP.NETは、すべてをページに追加するまで、ViewStateを適切な動的コントロールに自動的に関連付けません。一方、サービスレイヤーが現在の値に依存するビジネスルールを適用するまで、これらのコントロールをページに追加することはできません。私はこのかなり不快な問題を回避するために、この疑似コードを少し書いてみました。
残念ながら、コントロールをクリアして再度追加すると、コントロールの種類とControlIDがまったく同じであっても、ViewStateが失われるため、このソリューションは無効です。私が求めていることを達成する方法についての合理的なアイデアは大歓迎です!
c# - 動的に追加されたイベント ハンドラー メソッドが asp.net ページで起動しないのはなぜですか?
私のasp.netページのコードビハインドでは、ボタンを動的に作成し、イベントハンドラーを追加しています。しかし、ボタン クリック イベント (コード ビハインドで追加) にブレークポイントを設定すると、ヒットしません。理由はありますか?
私のコードはここにあります
ASP.NET ページ
コードビハインド (C#)
divPaymentOptions にブレークポイントを設定しました。しかし、私がそれを実行したとき、それはヒットしませんでした。しかし、ボタンをクリックするとポストバックが発生します。それは PageLoad メソッドになります。ボタンクリックイベントに来ない理由がわかりません。
何か案は?
asp.net - UpdatePanel内に動的に作成されたコントロール?
ユーザーが自分のWebサイト構造を設計できるようにするコントロールを作成したいと思います。UpdatePanel
内部にはTextBox
(ページ名に)とButton
「下に追加」が付いたコントロールがあると想像しました。次のようになります。
これで、ユーザーが「タグ」要素のボタンをクリックすると、「タグ」と「バッジ」の間に編集可能な名前の新しいボタンが表示されるはずです。たとえば、ユーザーは「ユーザー」という名前を付けることができます。(ページの点滅を避けるために)完全なポストバックなしで実行する必要があります。
今が私の問題です。これらのコントロール(すべてではありません)は存在しないため、onInitにロードできませんが、クリックイベントに参加する必要があるため、Initフェーズで実行する必要があるイベントリスナーをアタッチする必要があります。説明されている機能を実現するにはどうすればよいですか?
私はそれをあまりにも長い間遊んでいて、混乱しています。ヒントをいただければ幸いです。