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

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

jquery - ASP.NET MVC2Jqueryイベントが発生しません

このhttp://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ソリューションを使用して、可変長リストを編集するためのビューを構築しています。
これが私のActionLinkです:

そして、これが私のjavascriptコードです:

問題は、クリックイベントが発生しないことです。そのため、ぎこちなく更新されたビューではなく、AddReceiverアクションから取得した部分的なビューを含む空のページが表示されます。
何か提案はありますか?

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

c# - ASP.net ボタンを押すとコントロールを動的に追加します。ポストバックの問題

押されたボタンに応じて、別のコントロールがページに追加されます (ボタン 1 が TextBox を追加し、button2 がラベルを追加するとします)。

次のようなコードがあります。

次に、ページ上のすべてのコントロールとその値を取得するための 3 番目のボタン (button3) があります。(この例では、各ボタンが 1 回だけクリックされると仮定します)。

私の問題は、button3 が押されたときに paramsCtrlDiv.controls 配列に追加されたコントロールが含まれていないことです。各ポストバックの Page_Load 時にこれらのコントロールを追加する必要があることはわかっています。私の問題は、ユーザーが追加したコントロールが正確にわからないためです。何を追加したいのかわからないため、Page_Load (テキスト ボックス、ラベル、ラベルのみ、または tb のみ) を追加できます。ユーザーが押すものを制御しません。

セッションにすべてを保存できることはわかっていますが、これがエレガントなソリューションかどうかはわかりません。このコントロールの複数のインスタンスが異なるタブにある場合もあるため、それぞれが独自のコントロール コレクションを正しく維持する必要があります。

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

asp.net - ASP.NET の動的コントロール

C# で Windows フォーム アプリケーションを作成しました。これにより、ユーザーは、サイズ変更や位置変更が可能なコントロールを TabPage に追加できます。今、同じことを ASP.NET でのみ行いたいと考えています。

このチュートリアルに従って、コントロールを動的に追加することができました。jQuery UI を使用して、サイズ変更およびドラッグ可能にします。私が遭遇した問題は、新しいコントロールを追加すると、他のすべてのコントロールが最初の位置と寸法に戻されることです。

それらの位置とサイズを保存し、LoadViewState で新しく作成されたコントロールに適用する必要があると思います。コード ビハインドからこの属性を表示する方法はありますか? Javascript を使用してこれらの情報を取得できましたが、コード ビハインドに入れる方法がわかりません。

誰かが私を正しい方向に向けることができますか? 前もって感謝します。

[編集] ご回答ありがとうございます。コードは次のとおりです: HTML C#

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

c# - How can I dynamically replace portions of text with TextBoxes?

TL;DR:

I need to insert a TextBox into a PlaceHolder wherever I see a token like @token@, and splitting on @ won't cut it. How can I do this?

Setup:

I have a database-driven ASP.NET page with merge fields in several places. On one of the admin pages, I want to make the text in the merge fields editable by showing TextBoxes where the merge fields are. The rest of the text needs to stay non-editable.

The input looks like this:

"the quick brown fox @foo@ jumps over @bar@ the lazy @baz@ dog."

The merge fields here would be foo, bar, and baz. I have a Dictionary<string, string> with the value of the merge fields:

Goal:

For each of these text blocks, I have a PlaceHolder. What I'd like to do is dynamically insert a Label for each block of uneditable text, and a TextBox for each editable block. So the results of the above would be as if I had hard-coded something like this:

Problem:

Matching the @token@ pattern is easy. The trick is adding the Labels and TextBoxes in the right places. There might be more than one token in a given input, so I have to separate it out into editable and non-editable text, while still keeping track of which merge variable each TextBox corresponds to. As it turns out, this is not as easy as it sounds. I could use regular expressions to convert the input string into HTML, replacing the @token@ pattern with <input> tags. However, that has a couple of problems:

  • I already have a ton of code for the dynamic-server-controls approach.
  • I only want to match specific tokens, so /@[a-zA-Z\d]+@/ isn't strict enough.

Previous Strategy:

Until now, I simply split the input string on @, then inserted a Label for each odd-numbered substring and a TextBox for each even substring. That worked fine, but the requirements are changing. @ symbols will now be allowed outside of a variable name, so the input string might look like:

blah blah@blah.com @foo@ blah

...in which case only foo would be a merge field.

Current Strategy:

I feel like I need to iterate through Tokens and build some sort of array of Labels and TextBoxes. The problem is that any number of tokens might be in the input, so once I split out TextBoxes for @foo@, I need to go through the text again for instances of @bar@. I think I need some sort of recursion for this, but I can't quite put my finger on it.

0 投票する
4 に答える
5753 参照

c# - 動的に生成されたコントロールを使用した Gridview の並べ替えとページング

グリッドビューで動的コントロールを使用することで、ピクルスに陥りました。

グリッドビューをリストにバインドしてから、動的コントロールを追加しています。コントロールの状態を維持するには、ページの読み込み時にこれを行う必要があります。ただし、ページの読み込み後にイベントが発生するため、並べ替えとページングのイベントを適切に処理できません。この問題に対する創造的な解決策はありますか、それとも私はこれについてすべて間違っていますか?

編集:私は自分の問題を正しく説明したかどうかわかりません。動的コントロールをライフ サイクルのどこに追加するかは問題ではありません。問題は、並べ替えとページングのイベントで GridView を再バインドする必要があることです。これにより、(明らかに) 動的コントロールに割り当てられたプロパティが ViewState から失われます。これは、並べ替えとページングのバインドがライフ サイクルの後半で発生するためです。

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

ajax - AJAX および MVC 3 と jQuery を使用した動的作成後の目立たない検証で要素が検証されない

これが私の問題です...

Ajax.BeginForm を使用して作成された AJAX フォームを最初にレンダリングして表示するページがあります。いくつかの基準が入力され、AJAX フォームが投稿されます。Html.BeginForm を使用して作成された HTML フォームを含む部分ビューが返されます。

これまでのところとても良いです... この時点までのすべてがうまくいきます。私の目立たないクライアント検証は、部分ビューから作成された要素に対してうまく機能します。私の問題は、いくつかの動的入力要素を (jQuery 経由で) 作成し、部分ビューによって作成されたフォームに挿入/追加しようとすると発生します。動的に作成された要素に対して控えめなクライアント検証を行うことができません。

私は試しました: - 既存の要素のクローンを作成し、それらの ID/名前を変更し、DOM に追加します。- HTML 文字列を作成し、DOM に挿入します。

動的要素を挿入するたびに、次の呼び出しを試みました: - $.validator.unobtrusive.parseElement() [新しい要素] - $.validator.unobtrusive.parse() [新しいコンテナ、ドキュメントなど] - $.validator.unobtrusive .parseDynamicContent() [プラグイン]

jQueryコードの詳細は次のとおりです...

どんな助けでも大歓迎です!

編集: 追加の調査とテストを行った後、このソリューションに戻って、なぜうまくいかなかったのかを判断しました。結局のところ、リストの一部である新しい入力要素を挿入していました。したがって、新しい要素の名前は、something[0].id、something[1].id などのようになります。

これらの名前が原因で、$.validator.unobtrusive.parseDynamicContent() 関数が次の行で失敗しました: $('[name=' + elname + ']').rules("add", args);

これを単純に $("[name='" + elname + "']").rules("add", args); に変更しました。

すべてが正常に動作するようになりました...

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

html - 従来の ASP ページの動的チェックボックス

.asp ページでチェックボックスを動的に作成する際に問題が発生しています。テーブルのセルの内側で次のコードを使用しています (注 - rsMaint はレコードセットです)。

これにより、チェックボックスが作成され、ソースを表示して、ID の cb1、cb2、cb3 などがあることを確認できます。実行しようとすると、オブジェクトが存在しないというエラーが表示されます。

0 投票する
3 に答える
3183 参照

wpf - 動的に作成されたWPFコントロールのXAMLでのマージンの設定

フォームが読み込まれたときにボタンを動的に作成し、XAMLで宣言されたStackPanelにボタンを追加するWPFがあります。StackPanel.Resources内のXAMLで、これらのボタンのスタイルを完全に定義したいと思います。これまでのところ、Styleプロパティに対してこれをうまく行うことができますが、私が理解するのに苦労しているのは、マージンを行うための最良の方法です。Marginは厚みであり、実際にはスタイルに適用できないことは知っていますが、静的リソースとして定義し、Marginプロパティに直接適用する必要があります。コードビハインドに頼らずにXAMLでこれを行う方法はありますか?

StackPanelのXAMLは次のとおりです。

ありがとう、

マイク

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

jquery - JQueryを使用して動的ボタンがクリックされたときを識別する方法は?

一連のボタンを動的に作成しています

しかし、どれがクリックされたかを特定するにはどうすればよいですか?

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

javascript - サーバーからの asp.net ページのポストバックを強制する

コード ビハインドで完全に動的に作成されたページがあります (うれしいです)。

このページのボタンを押すと、さらに要素がページに追加されます。これは問題ありませんが、更新されたページは次のポストバックまで表示されません。リダイレクトを行いますが、既存のコントロールに入力されたデータの状態を維持したいと考えています。

そのため、サーバー コード ビハインド コードから強制的にポストバックする必要があります。これにはいくつかのjsコードを挿入する必要があると思いますが、それ以上はまったく喜びがありませんでした.

わかりやすくするための例を次に示します。

とてもシンプルなページです。

コードビハインドもシンプルです:

ボタンをクリックすると、さらにコントロールが追加されます。これは、私が問題を抱えているページよりもはるかに単純ですが、私が抱えている問題を示しています。