7

これは、エラーをスローする私の剃刀コードです:

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

showNotification存在しないとのことです。これは、JavaScript 関数である C# コードであると考えられます。このエラーを修正する方法を教えてください。ありがとう!

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 呼び出しの前に置くこともできます。@: 構文は、その 1 行を HTML として扱うように Razor に指示し、 はテキスト タグ内のすべてを HTML として扱うように Razor に指示します (@: は 1 行に適している複数行に役立ちます)。

于 2013-01-21T01:35:51.463 に答える