問題タブ [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.
.net - Controller から EditorTemplate を部分ビューとして返す
コントローラーから EditorTemplate を部分ビューとして返したいと思います。
私は現在やっています:
問題は、これを行った後、Create_
プレフィックスがビューから消えてしまうことです。エディター テンプレートを部分ビューとして返し、プレフィックスを保持する方法はありますか?
Index.cshtml @model IndexViewModel
このフォームを AJAX 呼び出しで送信しています。最初に EditorFor を呼び出したとき、すべてのフィールドのプレフィックスはCreate_
. ただし、フォームを送信してこの PartialView を返すと、プレフィックスが失われます。
asp.net-mvc-3 - MVC 3:EditorForModelで使用する列挙型ドロップダウンテンプレート
このトピックにはいくつかのスレッドがあることを私は知っています。私は多くの解決策を見ていますが、それらのほとんどは列挙型がどのタイプであるかについての知識を必要とします。Enumはデフォルトで文字列のテンプレートを使用するため、正確なタイプを見つけるのはより困難です。
誰かがこれを解決する方法の完全な例を持っていますか?
編集。Roysの提案に基づいて、これが私のコードです。
HtmlHelpers.cs
ビューモデル
EditorTemplates / Enum.cshtml
そしてビューで...
現在の問題は、フォームが投稿された後、列挙型を入力できないことです。
asp.net-mvc-3 - EditorTemplate を使用して子を持つエンティティを更新する
EntityFramework を使用して読み込まれる子エンティティ (QuoteTask) を含むエンティティ (QuoteSheet) があります。しかし、このフォームを送信するとエラーが発生します。
QuoteSheet エンティティの編集ページを作成し、EditorTemplate を使用して QuoteTask 子エンティティを編集します。
コントローラーのコードは次のとおりです。
ビューの簡素化されたバージョンは次のとおりです。
EditorTemplate は次のとおりです。
フォームを送信すると、次のエラーが表示されます。
EntityCollection は既に初期化されています。InitializeRelatedCollection メソッドは、オブジェクト グラフの逆シリアル化中に新しい EntityCollection を初期化するためにのみ呼び出す必要があります。
これは、EditorTemplate を使用した場合にのみ発生します。エディター テンプレートを削除してメイン エンティティのみを送信すると、正常に動作します。
[httppost] TestEdit 関数にブレークポイントを配置しましたが、このポイントに到達する前に例外が発生します。
EditorTemplate を使用して子エンティティを編集する方法に関するアイデアはありますか?
c# - 動的ドロップダウンを備えたMVC3エディターテンプレート
ドロップダウンをエディターテンプレートの一部として表示するにはどうすればよいですか?
つまり、UsersエンティティとRolesエンティティがあります。ロールは、SelectListおよびUserとして、またUserとしてビューに渡されます。SelectListは、正しいIDが選択されたドロップダウンになり、このサンプルのおかげですべてが行われます。
MVC 3を使用して、エンティティ用にオールインワンの適切にバンドルされたEditorTemplateを取得しようとしています。これにより、EditorForModelを呼び出すだけで、ロールなどの外部キーがある場合はいつでも、ドロップダウンを追加してフィールドを適切にレイアウトできます。 、この特定の例では。
My EditorTemlates \ User.cshtml(ViewDataに基づいて動的にレイアウトを生成):
次に、ビューでSelectListを個別にバインドし、テンプレートの一部としてバインドします。
私のモデル:
私のコントローラー:
私の見解:
うまくいけば、それは十分に明確です、あなたがより多くの説明を使うことができるかどうか私に知らせてください。前もって感謝します!
.net - .NET MVC3HtmlHelperEditor異なるエリアからのアクセス用
.NET MVC3 Razor Webアプリケーションで、EditorTemplate
別のWebアプリケーションにあるを使用するにはどうすればよいArea
ですか?(HtmlHelperのEditorForメソッドを使用)
asp.net-mvc - ASP.NET MVC 3 での半複雑なビュー モデル プロパティの検証
やや複雑なシナリオでサーバーとクライアントの検証ソリューションを完成させるのに苦労しています。と呼ばれるコアタイプがありDateRange
ます:
私は次のようなビューモデルを持っています:
次のような %mvcproject%\Views\Shared\EditorTemplates\DateRange.cshtml があります。
DateRangeModelBinder
2 つのフォーム入力をDateRange
プロパティにバインドする必要もあります。私が抱えている問題は次のDateRangeRequiredAttribute
とおりです。
2つの入力に接続できません。ValidatorTemplate
入力が分割されているため、 EditorTemplate とペアになる が必要なようです。何か案は?追加の説明が必要な場合はお知らせください。
c# - リストのエディタテンプレート動作していません
の Editortemplate を作成しようとしていますList<Package>
。次のように、Editortemplate ビューで型を完全に修飾しています。
Editortemplate ビュー内でモデルを参照しようとすると、null 参照が返され、モデルが適切に関連付けられていないと思われます。UIHint
Editortemplate を使用するには、ViewModel でa を使用する必要がありました。私の ViewModel にList<Package> Packages
は、カスタム Editortemplate を取得しようとしている が含まれています。私は何を間違っていますか?
asp.net-mvc-3 - インターフェイス属性のHtml.EditorForメソッド
私は初心者のASP.NETMVC3 Web開発者であり、次の問題があります。
同様のロジックを持ついくつかのビューモデルがあり、それらをレンダリングするための1つの共通のEditorTemplateを用意することにしましたHtml.EditorFor
。
テンプレートの名前は「 」で、インターフェイスクラスExistOrCreateNewInput.cshtml
で強く型付けされています。IExistOrCreateNewInput
テンプレートのコンテンツは次のようなものです。
このインターフェイスを実装するある種のモデルがあるとします。次に例を示します。
場所PaperCreateInput
とThesisCreateInput
クラスはIUnapprovedNewEntityCreateInput
インターフェースを実装します。だから、ビューモデルが欲しい
メソッドを使用して属性「firstModel」を正しくレンダリングしますHtml.EditorFor(o => o.firstModel)
。EditorForメソッドがメタデータを処理していることがわかったので、おそらく私の質問は「属性のメタデータをベースインターフェイス属性に渡すにはどうすればよいか」のようになるはずです。私が間違っているなら、私を訂正してください。
とにかく、私はそれらのヘルパーメソッドが必要です
クラスの実装でモデルを宣言したときにモデルの属性をレンダリングするためのエディターテンプレート(インターフェイスで強く型付けされている):
前もって感謝します。英語が下手でごめんなさい。
asp.net-mvc - ASP.NET MVCで、EditorTemplatesを使用するときにループインデックスを取得する方法はありますか?
ASP.NET MVCで、EditorTemplatesを使用するときにループインデックスを取得する方法はありますか?以前は、モデル内の要素のインデックスを知る必要がある場合、ベースビューのforループを優先してEditorTemplatesを使用するのをやめました。EditorTemplatesを使用しながら、要素のインデックスを取得する方法があるかどうか疑問に思っています。
私のforループの例:
contentIndex
段落IDにを使用する方法を参照してください。forループの代わりにEditorTemplateを使用してそれを実行できるようにしたいと思います。これは可能ですか?
asp.net-mvc-3 - MVC3エディターテンプレートをjQueryUIテーマと一致させる方法
私はMVC3を使用していますが、ビューをjQueryUIテーマと完全に統合したいと思います。つまり、標準@Html.EditorFor
フィールドの場合、選択したjQueryUIテーマをcssクラスに実装し、テーマを切り替えると、jQueryUI拡張機能で装飾されていなくても、それに応じて標準MVC3入力が変更されますか?
デフォルトでは、を呼び出す@Html.EditorFor(x => Model.FirstName)
と、出力は次のようになります。
すべての検証属性が含まれているので、これは素晴らしくクリーンです。ただし、@Html.EditorFor(x => Model.FirstName, new { @class = "ui-widget ui-state-default ui-widget-content" })
jQueryUIスタイルを適用するために呼び出しようとすると、CSSクラスは入力フィールドに適用されません(「テキストボックスの単一行」のままになります)。
選択したcssクラスに「new{@class= "..."}」を変更@Html.EditorFor()
し@Html.ListBoxFor()
て含めると、適切なjQueryUIクラスでレンダリングされることがわかりましたが、EditorForの柔軟性を使用して入力のタイプ。ただし、TextBoxForだけを使用している場合でも、毎回jQueryUIクラスを含める必要はありません。
これを克服するためSystem.String
に、cssクラスから派生して手動で挿入する共有EditorTemplateを作成しようとしましたが、これは機能しましたが、検証属性のすべての自動機能が失われ、「おかしな」ように見えます。カスタムCSSをEditorForヘルパーにグローバルに自動的に適用する簡単な方法が必要なようです。
だから私の質問は:
- EditorForにカスタムCSSクラスを使用するように指示するにはどうすればよいですか?
- EditorFor(または少なくともTextBoxFor)をオーバーライドしてCSSクラスをグローバルに適用し、繰り返し続ける必要がないようにするにはどうすればよいですか?
- ボーナスとして、 jQueryUIクラスが何に使用されるか(たとえば、いつui-state-defaultとui-widget-contentを適用する必要があるか)に関する参照があり、すべての標準MVC3入力がで装飾された入力のように見えますjQueryUIの機能強化?