验证Razor模板

时间:2016-07-04 17:52:47

标签: c# .net asp.net-mvc razor template-engine

如何验证Razor模板,该模板用于呈现邮件模板。

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

我犯了两个错误:错过了右括号和错误的结束标记。 我需要验证它并知道我应该修复什么(最好知道在哪一行)。我想使用原生的Razor方法。

3 个答案:

答案 0 :(得分:2)

如果我理解正确,您会收到通知,告知您在模板中编写的代码是无效的HTML。

如果是这样,我恐怕没有简单的方法。模板纯粹生成您指定的文本以进行响应。

它甚至可能不是HTML - 可能是JavaScript或许多其他输出 - 它只是一串文字。

您可能有一个模板可以生成表的开头,另一个模板可以生成主体,另一个模板可以生成页脚和结束表标签。这些中的每一个都会自己生成无效的HTML,但是一个接一个地输出会生成一个有效的HTML表。 (那里有很多产品 - 抱歉)。

使HTML无效的是HTML的解析器 - 即浏览器。只有在可以解析的完整文档中,您才能验证模板输出。

答案 1 :(得分:0)

你的意思是?

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

答案 2 :(得分:0)

string MyString = string.empty;
@if(Model.Condition)
{
MyString ="<span>"+ "is true"+"</span>";
}