問題タブ [editortemplates]

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 投票する
0 に答える
139 参照

jquery - 複数回レンダリングするエディター テンプレート (Jquery を使用)

ページに PersonViewModel 関連のコントロールを表示する必要があります。選択した車の数 (2 または 3) に基づいて、CarViewModel (エディター テンプレート) の入力フィールドを表示する必要があります。

問題: CarViewModel のエディター テンプレートを作成しました。選択したドロップダウンに基づいて動的に呼び出す方法がわかりません (つまり、NumberOfCars は人によって選択されました)。

PS

  • 部分ビューを作成し、ドロップダウンの選択に基づいて動的に複数回レンダリングできます。ただし、子(CarViewModel)をPersonViewModelである親ViewModelにバインドする方法がわかりません。
  • 問題を簡単に理解するために、すべてのコードを書いているわけではありません。
0 投票する
2 に答える
192 参照

asp.net-mvc-5 - EditorTemplates Where または Groupby on Questionnaire

現時点では、複数の質問があり、各質問に複数の回答選択肢があるアンケートの実用的なプロトタイプがあります。すべてが表示され、保存されます。ただし、編集ビューで質問/回答を「セクション」にグループ化したいと思います。いくつかの異なる方法を試しましたが、何も正しく機能していないようです。セクションのない作業コードは次のとおりです。

ビュー進行状況レポートの編集:

ReportAnswers.cshtml (エディター テンプレート)

EditController :

データ構造は Sections -> Questions -> Answers です 次に、QuestionID と AnswerID を持つ ProgressReport テーブルがあります

ビュー内で Groupby を試みましたが、Editortemplate を正しく呼び出す方法がわかりません。実際、使用できましたが、結果は期待どおりではありませんでした。そのコードは次のとおりです。

ありがとう!

データ構造スニペット: ここに画像の説明を入力

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

asp.net-mvc - null として渡された MVC モデル プロパティ

いくつかのプロパティのエディターを渡す、強く型付けされたビューがあります。

すべてのプロパティ オブジェクトは適切にアクションに渡されますが、1 つのプロパティ (First) は null として渡されます。

それらはすべて EditorTemplates 内にあり、それらのビューも強い型です - 独自のモデルを使用してください。

なぜこれが起こっているのですか?

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

asp.net-mvc - MVC 5 Ajax 部分フォーム検証

Ajax.BeginForm強く型付けされたビューで使用しています。このフォーム内には、独自のモデルとエディター テンプレートを使用するモデル プロパティを保持するいくつかのパネルがあります。最後にAjaxを使用してモデル全体をサーバーに投稿したいのですが、その前にパネルからパネルへと移動し、別のパネルに進む前にそれぞれを検証する必要があります。

[次へ] ボタンをクリックしたときに、各パネルと各モデル プロパティの部分的な (サーバー側の) 検証 (コントローラー アクションで) を行うにはどうすればよいですか?

各 [次へ] ボタンをクリックしたときに何らかの方法でコントローラー アクションを呼び出すことはできますか? また、検証している特定のタブの値を渡すにはどうすればよいですか? ページを更新する必要はありません。

モデル:

景色:

ページ全体はそれよりもはるかに複雑です。この質問のために単純化しました。

以前は、(エディター テンプレートの代わりに) 各プロパティに PartialViews を使用していましたが、PartialView を使用すると、最後にフォームを投稿するときに、親モデルがプロパティ モデルを表示できません。

また、フィールドでのユーザー入力/選択に応じて、いくつかのパネルにさらにデータをロードする必要があり、それをサーバーからロードする必要があるため、本質的に、特定のフィールドでアクションを呼び出し、アクション結果を他のフィールドに入力する必要があります。

例えば。アイテム固有のパネルで、ユーザーがモデルの List プロパティにいくつかのアイテムを追加すると、それらはパネル内の行のリストとして表示され、コントローラー アクションを呼び出してそれぞれを編集または削除できます。

アクションをPartialView実行したところ、リストに新しいアイテムを追加するユーザー入力が追加され、パネルに追加されたアイテムのリストのみを表示する特定のパネルに関してモデルItemSpecific全体が返されました。ItemSpecificsPartialViewResultItemSpecific

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

asp.net-mvc - モデルの MVC 5 EditorTemplate は、同じ ID と名前でレンダリングされます

私は親モデル「領収書」を持っており、それはオブジェクトの辞書をCustomControlDictionaryクラスのプロパティとして持っていますCustomControlModel。私の見解では、CustomControlDictionaryプロパティ内の各オブジェクトをループして、EditorTemplate を呼び出します。テンプレートでは、CustomControlModelオブジェクトのラベルとテキスト ボックスを追加するだけです。コードが HTML コントロールをレンダリングするとき、同じ属性idname属性があります: id="key_Value" name="key.Value". 辞書の代わりに通常の配列またはリストを使用してみましたが、結果は同じでした。アドバイスをお待ちしております。

モデル:

意見:

エディタ テンプレート:

レンダリングされた html には、次のプロパティのすべてのオブジェクトに対して同じidとがあります。nameCustomControlDictionaryReceiptModel

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

asp.net-mvc - ビューデータ/ビューバッグはエディターテンプレート MVC で空です

モデルを含むビューを返す単純なコントローラーを備えた Mvc アプリケーション。ビューを作成します。大量のドロップダウンリストがあるため、いくつかのビューバッグ(13)があります。

ビューでは、editortemplates を使用して、モデルから複雑なオブジェクトを表示します。

問題は、エディター テンプレートに空のビューバッグがいくつかあることです。

コントローラーでデバッガーを停止させると、ビューバッグはすべて正しく埋められます。

ビューでデバッガーを停止させると、それらのいくつかが空であることがわかります。

この問題の原因は何ですか?

コントローラー:

私の見解の一部

私のエディターテンプレートの一部:

Viewbag.Blikformaat は常に空です Viewbag.BlikVorm は、3 つの editorTemplates のうち 2 つで空です。

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

asp.net-mvc-5 - ダイアログ内のモデル検証

ユーザーがゼロから多くのバーを持つ Foo を作成できるアプリに MVC 5 を使用しています。

Foo の作成ビューは、Foo のエディター テンプレートをロードする HTML.EditorForModel() を呼び出します。私の Foo テンプレートには HTML.BeginForm タグと Html.EditorFor(model => Model.Bar) への呼び出しがあり、これは Form タグを持たないが、BeginCollectionItem ヘルパーを使用している Bar のエディター テンプレートをロードします。したがって、最終結果は、Foo モデルと Bar モデルの両方が 1 つの Foo フォーム内にあるということです。

ユーザーが [新しいバーを追加] ボタンをクリックすると、Ajax 呼び出しによって新しいバー テンプレートが追加され、Jquery UI ダイアログに公開されます。追加するたびにフォームを再解析して、検証で新しいフィールドが取得されるようにします。コントローラーへの送信時に、Foo と Foo.Bars の両方が正しくポストされます。わーい!

私の問題は、ダイアログ ボックスで検証が実行されないことです。ダイアログをドロップして、DOM 検証で Bar フィールドを公開するだけでうまくいきます。これは、ダイアログのコンテンツ (Bar テンプレート) に Form タグが含まれていないためだと思います。しかし、フォーム タグを Bar テンプレートに追加すると、コントローラーへの投稿が失敗します。

このシナリオで開いているときに、ダイアログ内でモデルの検証を機能させることは可能ですか?