問題タブ [mvc-editor-templates]

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

asp.net-mvc-3 - リストが入力されていない MVC3 エディター テンプレート

問題: UserModel の EditorTemplate をロードすると、UserRoles リストが UserRole エディターのリストを生成しません。

私のモデル:

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

実際の出力は次のようになります。

ユーザー名 [ someuser ]

役割

期待される出力:

ユーザー名 [ someuser ]

役割

role1 [x] ischecked role for 1

role2 [x] ischecked role for 2

role3 [x] ischecked role for 3

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

asp.net-mvc-3 - Telerik MVC グリッド編集ポップアップ ウィンドウのネストされた EditorTemplates がカスタム編集テンプレートに表示されない

AJAX DATABINDING を使用したグリッドがあります。TEMPLATENAME SPECIFIED を指定して POPUP EDITING コマンドを発行すると、NESTED EDITOR TEMPLATES が読み込まれません。

マイモデル

私の見解

私のコントローラー

マイ EditorTemplates Shared/EditorTemplates/TemplateTesterModel.cshtml

共有/EditorTemplates/UserRole.cshtml

これは次のようにレンダリングされます。

ここに画像の説明を入力

ご覧のとおり、グリッド フィルターの前にある @Html.EditFor ステートメントは、期待どおりに userrole EditorTemplate に到達します。さらに、役割列に表示されているため、役割データがグリッドに表示されていることがわかります。

しかし、編集ウィンドウをクリックすると、次の結果が得られます。

ここに画像の説明を入力

ご覧のとおり、UserRoles テンプレートには、編集中の TemplateTesterModel の UserRoles プロパティのロールが設定されていません。

何か不足していますか?テレリック グリッドのポップアップ ウィンドウに .UserRoles プロパティが表示されないのはなぜですか?

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

asp.net-mvc-3 - Asp.net MVC でテンプレートの編集が表示されない

私はクラスを持っています:

フォルダー共有 > EditorTemplates

PersonDetailsModel.cshtml

私からしてみれば:

UrlKeywordReCapchaフィールドのみが表示されます。

Asp.net MVC が共有フォルダーのテンプレートを使用してネストされた型を表示しないのはなぜPersonDetailsModelですか?

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

asp.net-mvc - DisplayFormat が 10 進数値に適用されない

EditorFor テンプレートを使用してレンダリングしようとしているモデル プロパティがあり、DisplayFormat 属性を使用して書式設定を適用しようとしています。しかし、まったく機能していません。完全に無視されています。

ここに私のテンプレートがあります:

これが私のモデルです:

これが私の見解です:

しかし、次の値でテキストボックスをレンダリングしています:

189.9900

それはかなり簡単に思えますが、機能していません。その理由はわかりません。

更新: キックのために、DisplayFor テンプレートで試してみましたが、うまくいきました:

では、trueに設定した場合、DisplayFor テンプレートは機能するのに、EditorFor テンプレートは機能しないのはなぜでしょうApplyFormatInEditModeか?

更新 2: 気にしないでください。機能した理由は、10 進表示テンプレートがそのようにフォーマットするようにハードコードされていたためです。したがって、私の表示テンプレートも機能しません。

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

c# - 初期モデルでエディター コントロールを作成するには?

いくつかの国を選択するためのエディターを作成したいと考えています。つまり、国を選択し、AJAX を使用してその国の番号を読み込んでから、番号を選択する必要があります。

エディターの初期モデルは郡のリストです。エディター テンプレートを使用したいのですが、使用するたびに郡モデルのリストをテンプレートに渡したくありません。

これは現在私が持っているものです:

どうすればいいですか?

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

asp.net-mvc - プロパティがNullの場合でも、EditorTemplateが実行されるのはなぜですか?

私はこのようなモデルを持っています:

次に、のビューでParentViewModel、私はこれを行います:

そして、がである場合でも、カスタムエディタテンプレートを実行しModel.ChildViewModelますnull。なんで?MVCは、値がある場合にのみビュー/テンプレートをレンダリングするのに十分スマートだと思いました。(たとえば、のデフォルトのテンプレートnullは何もレンダリングしないことです)。

現時点では、カスタムエディタテンプレートのHTMLを次のようにラップする必要があるためです。

@if (Model != null)

これは非常にばかげているようです。

これは既知の問題ですか?

私はASP.NETMVC3、Razorを使用しています。

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

asp.net-mvc - ドロップダウン値に基づく Asp.NET MVC 2 動的エディター テンプレート

私はモデル基準ビルダーに取り組んでいます。すべてのモデル プロパティを含むドロップダウン リスト、静的演算子 (より小さい、等しい、など) を含むドロップダウン リスト、および値のユーザー入力フォーム要素があります。問題は、ユーザー入力値のフォーム要素タイプ (ドロップダウン、日付、テキスト ボックスなど) が、最初のドロップダウン リストで選択されたモデル プロパティのデータ タイプに基づく必要があることです。MVC 2 を使用してこれを達成する最良の方法は何ですか? 理想的には、Html 拡張メソッドを作成してそれを使用しHtml.CriteriaFilterFor(model => model)、モデル属性とメタデータを使用して表示をカスタマイズできるようにしたいと考えています。

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

asp.net-mvc-3 - 同じモデルに対して、「領域」エディター テンプレート内から「共有」エディター テンプレートを呼び出すことはできますか?

エディター テンプレートの場所は次のとおりです。

エリア/投稿/ビュー/共有/EditorTemplates/Question.cshtml

私も持っています:

/Views/Shared/EditorTemplates/Question.cshtml

どちらもモデルは同じです。

私がやろうとしているのは、エリア内のビュー内で、Postsエリア内のエディター テンプレートを呼び出し、HTML を設定してから、メインの共有エディター テンプレートに戻ることです。

PostsEditorTemplateは次のとおりです。

ただし、共有エディター テンプレートの内容ではなく、隠しフィールドをレンダリングするだけです。

エディター テンプレートを削除Postsすると、共有テンプレートが適切にレンダリングされます。

MVC/Razor はこれが再帰的か何かだと考えているのでしょうか? 同じテンプレートを呼び出すようなものですか?

共有されたものに行くように指示する方法はありますか?

基本的に、共有テンプレートで HTML を再利用しようとしていますが、独自の卑劣な HTML を挿入しています。

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

asp.net-mvc - 組み込みのEditorTemplateをアクションのPartialViewとして返す

カスタムエディタテンプレートではなく、組み込みのエディタテンプレートをアクションのPartialViewとして返す方法はありますか?

私はこのようなことをしたいです:

前もって感謝します

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

.net - ASP.netMVC-同じモデルタイプでEditorForを2回使用する

私はMVCに次のモデルを持っています:

私のインデックスビューでは、次のエディタを表示するために次のことを行っていますSubViewModel

Index.cshtml

私のSubViewModel.cshtmlファイルでは、次のことを試みました。

EditorTemplates / SubViewModel.cshtml

基本的に、エディターを2つに分割したいと思います。最初のエディターテンプレートがフォームを作成し、内側のテンプレートが実際のフォームフィールドをすべて作成します。問題は、内部ビューがレンダリングされないことです。

これは、MVCが、そのモデルで既にEditorForを呼び出していることを認識し、それを再度実行できないようにしているようなものです。これを機能させる方法はありますか?

編集

何が起こっているのかをはっきりとタイプしたと思いましたが、そうではないと思います。

2つのテンプレートを使用して1つのモデルを表示したいと思います。最初のテンプレートでは、フォームと送信ボタン、およびいくつかのコンテナdivをレンダリングします。

2番目のテンプレートでは、すべてのフォームフィールドをレンダリングします。

Index.cshtml @ Html.EditorFor(m => m.SubViewModel)->フォームとコンテナをレンダリングします

SubViewModel.cshtml @ Html.EditorForModel( "SubViewModelForm")->フォームフィールドをレンダリングします

問題は、2番目の呼び出し(@ Html.EditorForModel( "SubViewModelForm"))が何もしないように見えることです。タグをまったくレンダリングしません。MVCによって無視されています。

この方法でやりたいのは、このフォームをajax呼び出しで投稿するためです。すべてが正常である(モデルの状態が有効である)場合は、JSONデータをビューに返します。モデルが無効な場合は、フォームフィールドのみを含む部分ビューを返します。このようにして、すべてのイベントハンドラーを再度接続する必要はありません。ビュー全体ではなく、フォームフィールドを置き換えることができます。