問題タブ [editorfor]
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.
c# - ForEach with EditorFor
コンテンツ、MessageID、from、toなどのいくつかのプロパティを持つMessageタイプのMessageオブジェクトのコレクションを含むエンティティモデルがあります。
メッセージタイプのEditorTemplateを作成しましたが、Messagesコレクションの内容を表示するように取得できません。
エラーはありませんが、何も出力されません。
ビューコードは、親TalkbackクラスのEditorTemplateからのものであることに注意してください。子コレクションの別のEditorTemplateを呼び出すEditorTemplateを作成できますか?
TalkbackクラスとMessageクラスはどちらも、既存のデータベースからEntityFrameworkによって生成されます。
コードを表示:
これは私のテンプレートコードです。これは、いくつかの小さな変更を加えた標準の自動生成ビューコードです。
Messageコレクションには間違いなくコンテンツが含まれています。EditorForを削除してMessageクラスのcontentプロパティにresponse.writeを入力すると、ページ上の3つのMessageオブジェクトのコンテンツフィールドが取得されます。これはまったく期待どおりです。
asp.net - カスタム ビュー モデルのリストを dropDownList にバインドし、ASP.NET MVC で POST 後に選択した値を取得する方法は?
次の問題があります。私のビュー モデルでは、いくつかのリスト プロパティを次のように定義しました。
このビュー モデルは別のビュー モデルに埋め込まれています。
2 つのアクション メソッドを使用します。1 つは GET 用で、もう 1 つは POST 用です。
ビューでは、List プロパティの DropDownLists を自動的に表示したくない EditorFor-Html ヘルパーを使用して、ビュー モデル全体を実装します。 1. 質問: EditorFor に DropDownList を表示させるにはどうすればよいですか?
EditorFor を使用して DropDownLists を表示する方法がわからなかったので、DropDownList Html ヘルパーを使用して、次のようにビュー モデルに入力しました。
私の 2. 質問: ご覧のとおり、POST 属性を使用してビュー モデルをアクション メソッドに渡します。渡されたビュー モデルにバインドされた DropDownList の選択された値を取得する方法はありますか? 現時点では、すべての DropDownList が空であり、選択した値は Request.Form によってのみ取得できますが、これは絶対に避けたいです!
これに関するいくつかのアイデアやヒントをいただければ幸いです。
html - EditorForで入力フィールドのオートコンプリートを無効にする方法は?
生成された出力にautocomplete="off"属性を設定する必要があります。
私が欠けているものは何ですか?
編集:属性のキー/値ディクショナリを受け入れるEditorForの拡張メソッドを探しているので、次のように呼び出すことができます:<%= Html.EditorFor(product => product.Name, new { autocomplete = "off" } ) %>
ここではLabelForに対して実行されますが、EditorForに対して調整する必要があります。
Edit2:匿名タイプを受け入れるオーバーライドされたEditorForがすでに存在するため、EditorForという名前を付けることができないことに気付きました。http://msdn.microsoft.com/en-us/library/ff406462.aspxを参照してください..とにかく、別の名前を付けることができますが、大したことはありません。
asp.net-mvc-2 - MVC 2 テンプレート - 現在のエディター テンプレートをメタデータに基づいて表示テンプレートにリダイレクトすることは可能ですか?
私が取り組んでいるプロジェクトでは、モデルで提供されるメタデータに基づいて、エディター テンプレートをその表示テンプレートにリダイレクトするように依頼されました。
今、エディター テンプレートにヒットする前にそれを行う方法を検討していましたが、少なくともシステムがどのように設計されているかについては、価値があるよりも多くの問題を引き起こしているようです。
最も単純な例は文字列エディターで、単純なテキスト ボックスですが、IsReadOnly が設定されている場合は、無効なテキスト ボックスではなく、テキストとしてのみ表示されるようにします。
これまでのところ、私が見つけた唯一の本当の解決策は、表示テンプレートをエディター テンプレートにコピーすることです。より多くのコードを複製せずに機能する何かを行う方法を知っている人はいますか?
asp.net-mvc-2 - ビューモデルで子コレクションのEditorTemplateを定義します
EditorForを使用したいQuestionEditModelのリストを含むモデルがあります。
通常、コレクションでEditorForを呼び出すだけで、残りはMVCが行います。ただし、オブジェクト内のフィールドの値に応じて異なるEditorTemplatesを使用するには、個々のQuestionEditModelが必要です。
これを行う方法は次のようになると思いました
しかし、現在選択されている質問を確認し、質問のEntryTypeフィールドを使用して、使用するEditorTemplateを決定するように指示する方法がわかりません。
だから私はこれを試しました
しかし、これはページに何もレンダリングしません。奇妙なことに、ブレークポイントを設定してコードを実行すると、正しいEditorTemplateが呼び出され、正しいモデルデータが渡され、例外はありませんが、何もレンダリングされません。
レンダリングされたEditorTemplateを自分のページに戻すために、このシナリオで行う必要のある追加の作業はありますか?
編集:
編集ビューの完全なコード。
編集2:
要求に応じて、ビュー、コントローラー、およびテンプレートのコードを完成させます。
エディターテンプレート:
編集(GET)アクション:
編集(POST)アクション:
asp.net - asp mvc2Editor奇妙な動作の場合
次のような文字列の共有エディタを定義しました
<%@ Control Language = "C#" Inherits = "System.Web.Mvc.ViewUserControl"%>
<%= Html.LabelFor(model => model)%>
<%= Html.TextBoxFor(model => model)%>
<%= Html.ValidationMessageFor(model => model)%>
今、私は別のコントロールでこのようなカスタムエディタを呼び出しています
私のモデルはこんな感じです
レンダリングされる唯一の表示は、Eメールフィールドです。他の2つはレンダリングされませんか?DataType.TextとDataType.Passwordを削除すると、すべての表示フィールドがレンダリングされますか?
非常に奇妙な行動...
誰かが理由を知っていますか?
asp.net-mvc - 可変長リストを持つ EditorFor - アイテムを削除した後に間違ったデータが表示される
クライアントがさまざまな量のモデルを注文するために使用するフォームを作成しようとしています。Steve Sanderson のブログの例に似ていますが、JavaScript は使用していません。フォームに複数の送信があるだけです。
すべてが正常に機能し、必要な数のアイテムを追加できますが、アイテムを削除すると、常にリストの最後のアイテムが削除されます。ここにいくつかのコードがあります:
からのフラグメントCreate.aspx
:
ModelCreateModel.ascx
EditorTemplate の興味深いフラグメント:
私の私はタイプのOrderCreateModel
プロパティを持っているので、単なるリストですInput
OrderCreateModel.InputModel
Model.Input.Models
ModelCreateModel
今私なら:
このフォームを使用して 3 つのモデルを追加します (名前はAAA、BBB、CCC )
delete#0
送信をクリックしてモデルAAAを削除します
その結果、モデルAAAおよびBBB用のエディターを取得しますが、モデルBBBおよびCCC用のディスプレイを取得します。それは私にはあまりにもクレイジーです!フィドラーで確認しましたが、これが実際の応答の様子です。ブラウザのせいではありません。また、コードをデバッグした後、に渡す前にBBBモデルを削除していることを 100% 確信しています。Input.Models
View()
どうすればこれを修正できますか?
注: これには JavaScript を使用したくありません。より良いユーザー エクスペリエンスを提供するために後で追加されますが、サイトは JavaScript を無効にしても機能する必要があります。
編集:
コントローラーのコード:
MutlipleSubmitsAttribute
から継承し、ここでサブミット名からActionNameSelectorAttribute
抽出して に入れます。deleteModelNr
ViewData
FillCreateModelWithMaps
データで埋めるだけviewModel.ExistingMaps
です。
html - ASP.NET MVC の EditorFor() の HTML 属性
に html 属性を渡せないのはなぜEditorFor()
ですか? 例えば;
メタデータを使用したくない
更新:解決策は、ビューからこれを呼び出すことでした:
ViewData["Modifiable"]
読み取り専用および/または無効な属性を入力に追加するかどうかを決定するビューロジックがあるカスタム EditorTemplates/String.ascx で使用します。渡される匿名オブジェクトEditorFor()
は呼び出されるパラメーターadditionalViewData
であり、そのプロパティはViewData
コレクション。
.net - EditorFor および DisplayFor 用の ASP NET mvc 2 テンプレート
DisplayFor および EditorFor によって生成された出力を制御またはカスタマイズしたいので、たとえば、デフォルトの html css タグをレンダリングしません: .......
タイプやシステムタイプだけでなく、すべてのビューにこれを適用したいですか? そして、最も簡単な解決策は何ですか?
どんな助けでも大歓迎です。
asp.net-mvc - 別の EditorFor 内の MVC EditorFor
以下のように、モデル ロール用の EditorFor テンプレートがあります。View から直接 EditorFor を使用すると問題なく動作する Date の EditorFor もありますが、エディタ内に EditoFor があると動作しません。何か案が?