.Net Core MVC Razor输出字符串方法(javascript中嵌入razor)

有时我们需要在javascript 中使用Razor输出字符串,由于javascript 中可能含有类似于this的关键字,会被识别为 后端关键字,这样我们就需要加上text标签进行处理

因为 在 @if 的代码块里,已经从内容模式变为编译模式,编译器会默认 {} 里的代码全是 razor

通过使用<text>这个伪元素来强制Razor从编译模式返回到内容模式:

 

<script type="text/javascript">

 @{var contents = smodel != null ? Html.Raw(JsonConvert.SerializeObject(new { name = smodel.Name, key = smodel.Key })) : null; }
            @if (smodel != null)
            { 
           <text>
            this.form = @contents;
            </text>
            }
</script>

  

       @:表示后面直接输出字符串

          <text></text>表示里面输出的是字符串

          两种方式可以任选一种,注意<text>不是html标签,它是razor语法中专门用来输出字符串的

posted @ 2022-05-25 18:06  fogwu  阅读(413)  评论(0编辑  收藏  举报