現在の とは異なるタイプMvcHtmlString
のメソッドから結果を取得したいと思います。以下のコードはコンパイルされますが、常に空の文字列を返します。HtmlHelper.Display
HtmlHelper
public static MvcHtmlString GetPropertyValue(this HtmlHelper html, string property, object value)
{
var dictionary = new ViewDataDictionary();
dictionary.Add(property, value);
var fooHelper = new HtmlHelper<FooModel>(
new ViewContext(
html.ViewContext,
new WebFormView(html.ViewContext, "dummy"),
dictionary,
new TempDataDictionary(),
TextWriter.Null),
new ViewPage());
return fooHelper.Display(property);
}
すべてのヘルパー オブジェクト ( ViewContexts
、ControllerContexts
、ViewDataDictionaries
など) は、私にとって一種のブラック ボックスです。明らかな何かが欠けていると確信しています。
これを機能させるにはどうすればよいですか?
興味深いことに、これは私のアプリケーションの監査ページで使用されます。プロパティ名 ( としてstring
)、古い値、およびデータベースからの新しい値があります。また、レコードによって表されるモデルの実際のインスタンスを表示するために使用される型も知っています。モデル クラスのすべてのデータ注釈を再利用して、HTML を表示したいと考えています。