Bootstrap互換のフォームフィールドを作成するHtmlHelperを作成しようとしています。私の最初の目標は、周囲のdivを作成するHtmlHelperを作成することでした。
<div class="control-group"> ... </div>
こことここでも優れたアドバイスに従って、私はそれを比較的迅速に機能させることができました。しかし、常に機能するとは限りません。
複雑なプロパティを持つViewModelがあるので、フォームでフィールドにアクセスしますm=>m.Complex.Element
。ヘルパーで、要素の検証エラーをチェックします。私は使用しますModelMetadata.FromLambdaExpression(expression, html.ViewData)
。返されるメタデータには、プロパティ名がありますがElement
、はありませんComplex.Element
。
ModelStateでこのプロパティを確認すると、ModelStateがフルネームを保持しているため、見つかりませんComplex.Element
。
他の要素がないことを期待して、部分一致を探すことができますが、それは厄介なバグが発生するのを待っているようです。式から完全なプロパティ名を取得するにはどうすればよいですか?