我一直在寻找如何将 razor 和 JavaScript 混合在一起。我发现了这样的东西:
<script type="text/javascript">
var currentUser = null;
@if (User.Identity.IsAuthenticated) {
<text>
currentUser = '@User.Identity.Name';
</text>
}
</script>
为什么这个变量叫currentUser
包围着 <text></text>
标签? <text>
是什么意思标签?如果我们省略该文本标记,那么会发生任何错误吗?
最佳答案
嗯,这就是 Razor 的工作原理。它使用括号和标记开始/结束来区分 C# 代码和生成的 HTML
当你打开括号时,它会考虑代码直到:
- 遇到相应的右括号
- 标签被打开。
然后,打开的标签将被视为 html,直到遇到 @ 或相应的结束标签。 有时,您想从 c# 切换到 HTML(或 js),但又不想添加标签……然后为您添加特殊标签 ID。它没有被渲染,只是在这里告诉 razor 将 rom C# 切换到生成的输出
关于javascript - 混合 JavaScript 和 Razor 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989683/