メールテンプレートのレンダリングに使用されるRazorテンプレートの検証方法を教えてください。Razorテンプレートの検証
string template = @"
My template
@if (Model.Condition { <span>is true</spaM> }"
私は2つの間違いをしました:閉じ括弧と間違った終了タグがありました。 私はそれを検証し、何を修正すべきかを知っておく必要があります。ネイティブレイザーメソッドを使用したいと思います。
メールテンプレートのレンダリングに使用されるRazorテンプレートの検証方法を教えてください。Razorテンプレートの検証
string template = @"
My template
@if (Model.Condition { <span>is true</spaM> }"
私は2つの間違いをしました:閉じ括弧と間違った終了タグがありました。 私はそれを検証し、何を修正すべきかを知っておく必要があります。ネイティブレイザーメソッドを使用したいと思います。
@{
string template = Model.Condition ? "My template <span>is true</span>" : "";
}
私が正しく理解していれば、テンプレートに書いたコードが無効なHTMLであることを通知したいと考えています。
もしそうなら、私は簡単な方法はないと恐れています。テンプレートは、純粋に応答に出るように指定するテキストを生成しています。
これはHTMLでなくてもかまいません - JavaScriptや他の多くの出力があります。単なる文字列です。
テーブルの開始点を生成するテンプレート、本体を生成するテンプレート、フッターと終了テーブルのタグを生成するテンプレートがあります。これらのそれぞれは、無効なHTMLを単独で生成しますが、もう一方は有効なHTMLテーブルを生成した後に出力します。 (そこにはたくさんの生産があります - ごめんなさい)。
HTMLのパーサー(ブラウザなど)が無効になるのはなぜですか。テンプレートの出力が完全な文書に含まれている場合にのみ、その出力を検証して解析することができます。
RazorテンプレートはRazor/C#で有効である必要があります。 OPが表示している閉じ括弧がないことは、テンプレートではなく、Razor構文の一部です。 – GSerg
@gserg、あなたは正しいです。そのため、私は正確に何が必要なのかを尋ねていたのです。DisplayTemplateに上記のように入力すると、構文エラーが表示されます。欠落している括弧と誤った終わりのスパンタグは、入力時にフラグを立てますが、まだコンパイルされます...通知するために通知と行番号が必要な理由はまだ分かりません。 –
string MyString = string.empty;
@if(Model.Condition)
{
MyString ="<span>"+ "is true"+"</span>";
}
なぜ文字列として保存したいのですか?テンプレートとして保存し、[プリコンパイル]してください(http://stackoverflow.com/q/5500078/11683)。 – GSerg