我试图在我的主视图中设置一个 JavaScript 对象:
<script type="text/javascript">
xx.yy.zz =
{
a: @Model.Id,
b: '@Model.Name',
c: @Html.Raw(Model.JsonFeature)
}
</script>
属性“a”是一个 int。
属性“b”是一个字符串。
属性“c”也是服务器端的一个字符串,但它实际上是一个 JSON 编码的字符串,因此我使用了@Html.Raw。
但问题是该字段可能为空,所以我正在尝试做这样的事情:
<script type="text/javascript">
xx.yy.zz =
{
a: @Model.Id,
b: '@Model.Name',
c: @(Model.JsonFeature != null ? Html.Raw(Model.MappingViewModel.JsonFeature) : null)
}
</script>
它会导致各种问题,例如呈现:
<script type="text/javascript">
xx.yy.zz =
{
a: 1,
b: 'Foo',
c:
}
</script>
所以它用“Unexpected token }”(可以理解)破解它。
如何使用 Razor C# 条件将 javascript 属性设置为字符串值或为空?