2011-11-15 20 views
1

リッチテキストエディタ(TinyMCE/CKEditor)になるようにテキスト領域を作成する必要がある属性を作成する必要があります。私はそれをどのように達成するでしょうか?例えばASP.NET MVC属性

、私のモデルは次のとおりです。

public class MyModel 
{ 
    [RichText] 
    public string Detail {get;set;} 
} 

それがレンダリングされるとき、それはリッチテキストエリアが表示されるはずです。

+0

質問を続けたり、回答を得たり、無視したりするのは残念です。 –

+0

アンドリュー、私はすでに答えを受け入れています。私の質問だけでなくあなたのメールをチェックする必要があります。ありがとう。 – Parminder

+0

あなたから返信されていないメッセージは表示されません。とにかく私はあなたの質問に答えを投稿したとは思わない。 –

答えて

1

あなたはDataTypeAttributeを継承することができます

public class RichTextAttribute : DataTypeAttribute 
{ 
    public RichTextAttribute() : base("RichText") {} 
} 

たとえば、あなたが特定のHTMLタグを防ぎたい場合は、XSS攻撃か何かを避けることができるので、あなたも、この属性にして検証を追加することができます。

別の答えで述べたように、あなたは、単にビュー\共有\ EditorTemplatesフォルダに、あなたは、プロパティの使用を示しているビューにRichText.cshtmlまたはRichText.ascxのエディタテンプレートを追加します。

Html.EditorFor(m => m.Detail) 

エディタテンプレートでは、コードを追加してTextAreaを作成します(ただし、TinyMCEを起動します)。次に、マスターページにスクリプトを登録して、エディタテンプレートが出力するタグにTinyMCEを添付します。

+0

PaulとMystere Manに感謝します。遅延のために申し訳ありません。それは素晴らしいです。 – Parminder

3

少なくともMVC2を使用している場合は、[UIHint("RichText")]を使用してRichTextフィールドにしたいことを示し、RichText.cshtml(または使用している.aspx、またはwhatverビュー技術)というEditorTemplateを作成し、使用するHTML(使用しているリッチテキストエディタを使用するには、htmlを作成する必要があります)。

あなたのビューでEditorFor()を使用してください、それは動作するはずです。

[DataType(DataType.Html)]を使用して、Html.cshtml EditorTemplateを作成することもできます。

関連する問題