問題タブ [modelmetadata]

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

asp.net - CachedDataAnnotationsModelMetadataProvider を拡張するにはどうすればよいですか?

パフォーマンスが向上し、MVC4 アプリケーションで多くのメタデータを使用するため、使用CachedDataAnnotationsModelMetadataProviderを検討しています。

現在、DataAnnotationsModelMetadataProvider から継承するカスタム ModelMetadataProvider を作成し、CreateMetadata属性をオーバーライドして、表示名の自動作成を行います。たとえば、名前から Id を削除するなどです。

オーバーライドしようCreateMetadataとしても、封印されているためできません。それが封印されている理由は何ですか-ソースを入手して再実装するだけで、拡張できなかったことが奇妙だと思いましたか?

誰かが似たようなことをしましたか?

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

c# - リフレクションを使用した「ModelMetadata.IsComplexType」と同等

プロパティ、特にSystem.Reflectionプロパティを使用した場合と同じ結果を取得するために使用しようとしています。私が直面している問題は、プロパティが複雑かどうかを判断するために MVC フレームワークが使用するロジックが見つからなかったことです。私が見つけた複合型の唯一の特徴は、それがクラスであり、.Net フレームワークの組み込み型ではないということです。プロパティを使用せずに、(プロパティ) タイプが複雑なタイプと見なされるかどうかを判断するにはどうすればよいですか?metadataIsComplexTypeModelMetadata

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

asp.net-mvc - 追加の EditorTemplate でフィールドの属性を取得する

Int32 用の追加のエディター テンプレートを作成したいと考えています。その中で、すべての属性(カスタム/デフォルトデータ注釈)を取得し、それらを使用していくつかの作業を行いたい:

では、EditorTemplate でプロパティのすべての属性を取得する方法について質問します。

事前にThx

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

asp.net-mvc - Betty のアプローチで AutoMapper を使用して DataAnnotation メタデータを ViewModel に転送する方法

AutoMapper を使用してデータ注釈メタデータを ViewModel に転送する Betty のコード ソリューションを実装する方法を明確にする必要があります (こちらを参照)。または、より良い方法があれば、それを共有してください。Betty の回答の実装は、AutoMapper をよく知っている人には明らかかもしれませんが、私はそれが初めてです。

以下は簡単な例です。Betty のソリューションを機能させるには、このコードに何を追加すればよいでしょうか。

現在の AutoMapper の実装:

Application_Start の global.asax でこれを試しました。

また、Betty の GetMappedAttributes を次のように変更する必要がありました。

propertyMap.DestinationProperty.GetCustomAttributesに: propertyMap.DestinationProperty.MemberInfo.GetCustomAttributes

(または、MemberInfo の代わりに、MemberType ですか?) これを構築することもできます。

しかし、何も機能していないようです。

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

asp.net-mvc - 新しいプロパティを MVC ModelMetadata に追加

私は、AdditionalValues などの代替アプローチを見ていますが、テンプレート ビューで使用可能な ModelMetadata オブジェクトに新しいプロパティを追加できるシナリオになる可能性があるかどうか疑問に思っています。

たとえば、次のようにすることができます。

これを Editor および Display テンプレートで使用して、レンダリングされる HTML 要素に MVVM 属性を追加したいと考えています。

私は完全に迷っていますが、これまでの私の努力は次のとおりです。

次に、グローバル asax で次を使用します。

問題は、認識されないビューで MyProperty を使用しようとした場合です。これは、VS がカスタム ModelMetadata クラスを認識していないためです。

これが可能かどうかさえわかりませんか?

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

asp.net-mvc - ModelMetadata の追加属性は常に空です

モデルのメタデータ属性にアクセスして、DataAnnotations に基づいて HtmlAttributes を自動的に追加するヘル​​パーを作成しようとしています。

問題は、属性が常に空であることです。

空のプロジェクトで試す 2 つの基本的なクラスがあります。

ここで、model.Description は常に空で、AdditionalValues ディクショナリは常に空です。

たぶん、ここに何かが欠けていますか?

GitHub に追加した参照プロジェクトは次のとおりです: https://github.com/erickgirard/TestHtmlAttributesHelper

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

asp.net-mvc - ローカライズされたモデルのメタデータとキャッシュ

組み込みのローカリゼーション機能を使用しないことにしたため、ローカライズされたモデル属性に問題があります。

問題は、ユーザーがグローバル カルチャを変更できることですが、ErrorMessage、DisplayName などはフレームワークによってキャッシュされます。これを修正し、実行時に属性をバインドする方法について何か提案はありますか?