2016-07-04 6 views
0

メールテンプレートのレンダリングに使用されるRazorテンプレートの検証方法を教えてください。Razorテンプレートの検証

string template = @" 
My template 
@if (Model.Condition { <span>is true</spaM> }" 

私は2つの間違いをしました:閉じ括弧と間違った終了タグがありました。 私はそれを検証し、何を修正すべきかを知っておく必要があります。ネイティブレイザーメソッドを使用したいと思います。

+0

なぜ文字列として保存したいのですか?テンプレートとして保存し、[プリコンパイル]してください(http://stackoverflow.com/q/5500078/11683)。 – GSerg

答えて

0

@{ 
    string template = Model.Condition ? "My template <span>is true</span>" : ""; 
} 
2

私が正しく理解していれば、テンプレートに書いたコードが無効なHTMLであることを通知したいと考えています。

もしそうなら、私は簡単な方法はないと恐れています。テンプレートは、純粋に応答に出るように指定するテキストを生成しています。

これはHTMLでなくてもかまいません - JavaScriptや他の多くの出力があります。単なる文字列です。

テーブルの開始点を生成するテンプレート、本体を生成するテンプレート、フッターと終了テーブルのタグを生成するテンプレートがあります。これらのそれぞれは、無効なHTMLを単独で生成しますが、もう一方は有効なHTMLテーブルを生成した後に出力します。 (そこにはたくさんの生産があります - ごめんなさい)。

HTMLのパーサー(ブラウザなど)が無効になるのはなぜですか。テンプレートの出力が完全な文書に含まれている場合にのみ、その出力を検証して解析することができます。

+0

RazorテンプレートはRazor/C#で有効である必要があります。 OPが表示している閉じ括弧がないことは、テンプレートではなく、Razor構文の一部です。 – GSerg

+0

@gserg、あなたは正しいです。そのため、私は正確に何が必要なのかを尋ねていたのです。DisplayTemplateに上記のように入力すると、構文エラーが表示されます。欠落している括弧と誤った終わりのスパンタグは、入力時にフラグを立てますが、まだコンパイルされます...通知するために通知と行番号が必要な理由はまだ分かりません。 –

0
string MyString = string.empty; 
@if(Model.Condition) 
{ 
MyString ="<span>"+ "is true"+"</span>"; 
} 
関連する問題