問題タブ [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.
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
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 プロパティが表示されないのはなぜですか?
asp.net-mvc-3 - Asp.net MVC でテンプレートの編集が表示されない
私はクラスを持っています:
フォルダー共有 > EditorTemplates
PersonDetailsModel.cshtml
私からしてみれば:
UrlKeyword
とReCapcha
フィールドのみが表示されます。
Asp.net MVC が共有フォルダーのテンプレートを使用してネストされた型を表示しないのはなぜPersonDetailsModel
ですか?
asp.net-mvc - DisplayFormat が 10 進数値に適用されない
EditorFor テンプレートを使用してレンダリングしようとしているモデル プロパティがあり、DisplayFormat 属性を使用して書式設定を適用しようとしています。しかし、まったく機能していません。完全に無視されています。
ここに私のテンプレートがあります:
これが私のモデルです:
これが私の見解です:
しかし、次の値でテキストボックスをレンダリングしています:
189.9900
それはかなり簡単に思えますが、機能していません。その理由はわかりません。
更新: キックのために、DisplayFor テンプレートで試してみましたが、うまくいきました:
では、trueに設定した場合、DisplayFor テンプレートは機能するのに、EditorFor テンプレートは機能しないのはなぜでしょうApplyFormatInEditMode
か?
更新 2: 気にしないでください。機能した理由は、10 進表示テンプレートがそのようにフォーマットするようにハードコードされていたためです。したがって、私の表示テンプレートも機能しません。
c# - 初期モデルでエディター コントロールを作成するには?
いくつかの国を選択するためのエディターを作成したいと考えています。つまり、国を選択し、AJAX を使用してその国の番号を読み込んでから、番号を選択する必要があります。
エディターの初期モデルは郡のリストです。エディター テンプレートを使用したいのですが、使用するたびに郡モデルのリストをテンプレートに渡したくありません。
これは現在私が持っているものです:
どうすればいいですか?
asp.net-mvc - プロパティがNullの場合でも、EditorTemplateが実行されるのはなぜですか?
私はこのようなモデルを持っています:
次に、のビューでParentViewModel
、私はこれを行います:
そして、がである場合でも、カスタムエディタテンプレートを実行しModel.ChildViewModel
ますnull
。なんで?MVCは、値がある場合にのみビュー/テンプレートをレンダリングするのに十分スマートだと思いました。(たとえば、のデフォルトのテンプレートnull
は何もレンダリングしないことです)。
現時点では、カスタムエディタテンプレートのHTMLを次のようにラップする必要があるためです。
@if (Model != null)
これは非常にばかげているようです。
これは既知の問題ですか?
私はASP.NETMVC3、Razorを使用しています。
asp.net-mvc - ドロップダウン値に基づく Asp.NET MVC 2 動的エディター テンプレート
私はモデル基準ビルダーに取り組んでいます。すべてのモデル プロパティを含むドロップダウン リスト、静的演算子 (より小さい、等しい、など) を含むドロップダウン リスト、および値のユーザー入力フォーム要素があります。問題は、ユーザー入力値のフォーム要素タイプ (ドロップダウン、日付、テキスト ボックスなど) が、最初のドロップダウン リストで選択されたモデル プロパティのデータ タイプに基づく必要があることです。MVC 2 を使用してこれを達成する最良の方法は何ですか? 理想的には、Html 拡張メソッドを作成してそれを使用しHtml.CriteriaFilterFor(model => model)
、モデル属性とメタデータを使用して表示をカスタマイズできるようにしたいと考えています。
asp.net-mvc-3 - 同じモデルに対して、「領域」エディター テンプレート内から「共有」エディター テンプレートを呼び出すことはできますか?
エディター テンプレートの場所は次のとおりです。
エリア/投稿/ビュー/共有/EditorTemplates/Question.cshtml
私も持っています:
/Views/Shared/EditorTemplates/Question.cshtml
どちらもモデルは同じです。
私がやろうとしているのは、エリア内のビュー内で、Posts
エリア内のエディター テンプレートを呼び出し、HTML を設定してから、メインの共有エディター テンプレートに戻ることです。
Posts
EditorTemplateは次のとおりです。
ただし、共有エディター テンプレートの内容ではなく、隠しフィールドをレンダリングするだけです。
エディター テンプレートを削除Posts
すると、共有テンプレートが適切にレンダリングされます。
MVC/Razor はこれが再帰的か何かだと考えているのでしょうか? 同じテンプレートを呼び出すようなものですか?
共有されたものに行くように指示する方法はありますか?
基本的に、共有テンプレートで HTML を再利用しようとしていますが、独自の卑劣な HTML を挿入しています。
asp.net-mvc - 組み込みのEditorTemplateをアクションのPartialViewとして返す
カスタムエディタテンプレートではなく、組み込みのエディタテンプレートをアクションのPartialViewとして返す方法はありますか?
私はこのようなことをしたいです:
前もって感謝します
.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データをビューに返します。モデルが無効な場合は、フォームフィールドのみを含む部分ビューを返します。このようにして、すべてのイベントハンドラーを再度接続する必要はありません。ビュー全体ではなく、フォームフィールドを置き換えることができます。