javascript - 混合 JavaScript 和 Razor 语法

标签 javascript asp.net-mvc razor

我一直在寻找如何将 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/

相关文章:

c# - 模型在 MVC4 中没有 ListBoxFor 的值

c# - ServiceStack 中的索引输入

c# - 用于用户模板的 RazorEngine - 安全性?

javascript - Django 数据到 Google Charts

asp.net-mvc - MVC 获得管理层批准

.net - NHibernate:MySql 方言是否足够成熟和稳定以用于大型 Web 应用程序?

ios - 无法连接到 Apple 服务器以获取推送通知

javascript - 在 React 中使表格单元格可点击

javascript - 将分页从 `react-js-pagination` 转换为`react-bootstrap`分页

javascript - angularjs重启css动画