2017-06-06 11 views
0

誰も実装方法を知っていますか剃刀の構文は、CKediotrを使用するとレンダリングされます。私はC#コードをCKEditorに入力したいが、それはすべてのコンテンツをテキストとしてレンダリングするため、できない。CKeditorとRazorの構文

サンプル:

@ DateTime.Now.Year ckeditorの内部にあります。

および他のより複雑なタイプです。

おかげで、

+0

あなたはカミソリ構文を使用するか、サイトがC#を書き始めるときにビューにしたいですか? –

+0

ビュー内。 ;) – RandomBoy

答えて

0

TinyMCEの、ら(F)CKEditorバージョンは、HTMLエディタであり、C#のために設計されていない(または、PHP、ASP、CFM ...)機能。テキストを評価し、何をする必要があるかを理解するために何か正しいことが可能ですが、それは王立的に複雑なPIAになります。まともな結果が得られたことを私が見た2つの方法があります。

最初の方法は、(CK)エディタの出力を部分的なビューとして保存し、親ビューの内部でそのビューを呼び出すことです。この方法の問題は、Razorを知らない人がエラーを起こした場合、そのページを強制終了することです。他のプログラミングエラーでも同じことが起こります。

2番目の方法は、共通項目のプレースホルダを作成し、次に置換のための評価方法を実行することです。

string BodyContent = GetPageContent(PageID); // whatever to grab CKEditor content 
BodyContent = BodyContent.Replace("##Year##", DateTime.Now.ToString("yyyy")); 
// other replacements here 

そして、ビューでは、その変数をそれに応じて呼び出すだけです。あなたができることは限られていますが、それは必ずしも悪いことではありません。

関連する問題