将 RazorEngine 语法与 javascript 混合

Mixing RazorEngine Syntax with javascript

在我的视图页面上,如果满足某些条件,我想显示一些按钮,代码如下:

<script>
var html = "";
html += "<button>View Member</button>";
@if (Model.HasPrivilage["UPDATE_MEMBER"] == true) {
    html += "<button>Add Member</button>";
    html += "<button>Remove Member</button>";
}
$("#container").html(html);
</script>

但是它抛出 TemplateCompilationException 异常,看来我必须做一些事情来包装 javascript 文本,我怎样才能改进我的代码以使其工作?

是的。 if 语句中的代码被解释为 C#。您需要使用@: 表示它是一个字符串,而不是编写代码。

所以像这样更改 if

@if(...){
    @:html += ....
    @:html += ...
)