これを一般的な方法で解決するのに問題があります。
独自の BeginForm と FieldFor があり、beginForm はその特定のターゲット URL の PermissionLevel を計算し、ViewData にいくつかの情報を保存します。次に、FieldFor はその情報を使用して、レンダリングされたコントロールにさまざまな注釈を表示します。
問題は、パーシャルを使用してフォーム内のフィールドをレンダリングする場合です。親の ViewData はパーシャル内では利用できないようです (デフォルトの Html.Partial 拡張を使用してレンダリングされます) ため、注釈は表示されません。
デバッグすると、WebViewPage の ViewData プロパティが共有されていることがわかりましたが、Html.ViewData のプロパティは共有されていません。フィールドをレンダリングするためにヘルパーを使用しているため、ビューのプロパティではなく、HtmlHelper 内にビューデータしかありません。
何か案は?
ありがとう。