私は動的なオブジェクトの束を持っているシナリオです。それらはリフレクションを使用してロードされるので、オブジェクトを正しくレンダリングするためにhtmlを生成できるコードをビューに追加する方法はありません。これはどのように行うべきですか?かみそりヘルパーは良いようですが、コンパイル時にオブジェクトを知らないので、実際にはこれらを使用しません。ASP.NETコントローラでHTMLを生成
私が行ったことは、Personという基本オブジェクトを作成し、RenderHTML()という仮想メソッドを基本クラスに追加したものです。
public Medic : Person
public Cop : Person
次に、子クラスに含まれる追加コンテンツを正しく表示するHTMLを生成する各クラスで、このRenderHTMLメソッドをオーバーライドします。それは動作しますが、それは簡単には動作しません。単一の文字列を使用してそれに追加することは、物事が複雑になると非常に乱雑になります。
htmlstring += "some more html";
私はこのような何かを行うことができ、出力バッファのいくつかの並べ替えを設定する方法はあります。
string html = startBuffer(){
<html>wdfwjewe</html>
}
括弧内のコンテンツは、それを逃れるために、すべてのHTML文字列に保存されます空想何もないプレーンHTMLである可能性があります。私は現在の方法は、作業する痛みになっているように私は構文の強調表示のいくつかの種類を探しています。
からです。 –
MVCでビュー生成を処理させてみませんか?各タイプのパーシャルビューを作成します。 '〜/ Views/Shared/DisplayTemplates/Cop.cshtml'は、メインビューから部分ビューを参照し、オブジェクトを渡します。 @Html.DisplayFor(Model.PersonObject) '、またはサーバー側コードにHTML文字列として部分文字列を指定する必要がある場合は、ビュー+ビューモデルを文字列にレンダリングするテクニックの1つを使用します。推薦が必要かどうか質問してください。 –