7

这是我的剃刀代码,它会引发错误:

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

它说不showNotification存在。它认为这是一个 C# 代码,它是一个 javascript 函数。有人可以让我知道如何解决此错误吗?谢谢!

4

2 回答 2

17

在它周围加上一个text标签,因为编译器认为你的 JavaScript 是 Razor 语法。执行此操作时,您需要向@TempData 调用添加一个。

@section script
{
    <script type="text/javascript">
        $(document).ready(function () {
            @if (TempData["Message"] != null)
            {
                <text>showNotification('@TempData["Message"].ToString()');</text>
            }
        });
    </script>
}
于 2013-01-20T18:54:17.440 回答
6

除了@Martin 的回答,您还可以将@: 放在 showNotification 调用的前面。@: 语法告诉 Razor 将该单行视为 HTML,其中告诉 Razor 将文本标记中的任何内容视为 HTML(对多行有用,其中 @: 适用于单行)。

于 2013-01-21T01:35:51.463 回答