Asp.net MVC 4 javascript内部剃刀块抛出错误

本文关键字:出错 错误 剃刀 内部 net MVC javascript Asp | 更新日期: 2023-09-27 17:54:32

这是我的剃刀代码抛出错误:

@section script
{
    <script type="text/javascript">
        $(document).ready(function () {
            @if (TempData["Message"] != null)
            {
                showNotification("'" + TempData["Message"].ToString() + "'");
            }
        });
    </script>
}

表示showNotification不存在。它认为这是一个c#代码,它是一个javascript函数。有人能告诉我如何修复这个错误吗?谢谢!

Asp.net MVC 4 javascript内部剃刀块抛出错误

抛出text标签,因为编译器认为你的JavaScript是Razor语法。当您这样做时,您将需要添加一个@到TempData调用。

@section script
{
    <script type="text/javascript">
        $(document).ready(function () {
            @if (TempData["Message"] != null)
            {
                <text>showNotification('@TempData["Message"].ToString()');</text>
            }
        });
    </script>
}

除了@ martin的答案,您还可以将@:放在showNotification调用的前面。@:语法告诉Razor将单行视为HTML,而告诉Razor将文本标签内的任何内容视为HTML(适用于多行,@:适用于单行)。

相关文章: