2011-07-07 18 views
0

私のmvcアプリケーションでは、ビューのコンテンツをhtml形式でレンダリングする必要があります。 html文字列は、ビューのモデルから取得されます。どのように私はhtmlマークをそのようなものとして見直すことができますか?事前モデル内のhtmlテキストのレンダリング

+0

「レンダリングされたHTML形式」とはどういう意味ですか?モデルにHTMLがあり、それをページに挿入したい、またはモデルにHTMLがあり、HTML(コードビューなど)としてユーザーに表示したいということですか?または、他の何か? –

+0

明らかに、いくつかのHTMLレンダリングエンジンを使用する必要があります。埋め込みIEビューアを使用するか、サードパーティのHTMLレンダリングエンジンを探すことができます。 –

答えて

2

おかげでて読みました:http://www.asp.net/mvc/tutorials/asp-net-mvc-views-overview-cs ASPXビューエンジンのレンダリングHTMLの例を参照してください。

モデル内(またはコントローラ内にHTMLを作成してモデルに入れる)ではいけません。

更新:Jamie Dixonが述べたように、モデルのビジネスプロパティにはHTMLが含まれることがあります。

一般的に言えば、
モデルにはプロパティとビジネスロジックが含まれている必要があります。
ビューは必要なHTMLをレンダリングします。
コントローラは必要なビジネスロジックを呼び出し、モデルを正しいビューに渡します。

場合は、ビューで、あなたは、この使用することができ、モデルにタイトルと呼ばれるプロパティに基づいて見出しを書きたい:

<h1><%: Model.Title %></h1> 

か、プロパティにHTML文字列を格納しているかをStoredHtmlと呼ばれる:<%=は、セキュリティ上の理由(<script>タグが保存されているような)のためのHTMLをエンコードします<%:として、<%:ではなく、使用されていることを

<div> 
    <%= Model.StoredHtml%> 
</div> 

注意。

+1

私は時々、データベースにHTMLを格納する必要があると思います。特にCMSなどの場合は、HTMLに文字列が含まれていることが理にかなっています。 –

+0

良い点ジェイミー。それに応じて編集します。 – StuperUser

+0

問題ありません。また、<%Model.StoredHtml%>と書いたことがあります。<%=を意味しましたか? –

関連する問題