razor cshtml javascript无法访问

时间:2016-11-19 14:31:51

标签: asp.net-mvc razor

我正在尝试运行基于我从控制器传递的TempData的javascript。

但是使用razor下面的代码,它可以达到第二个if语句。我有一种感觉,我没有使用正确的剃刀语法。

@if (TempData["status"] != null)
{
    <script type="text/javascript">
        var status = "@TempData["status"]";
        if (status == "customerAdded") {
            swal("1!", "good", "success")               
        }
        else {  

        }            
    </script>
}

2 个答案:

答案 0 :(得分:0)

您可以将TempData转换为String或者检查数据值,或者您可以在javascript中使用console.log("-");检查代码是否运行

答案 1 :(得分:0)

您需要在C#数据上使用Json.Encode@Html.Raw,以使其与您的脚本兼容。

@if (TempData["status"] != null)
{
    <script type="text/javascript">
        var status = '@Html.Raw(Json.Encode(TempData["status"]))'; // this is the change
        if (status == "customerAdded") {
            swal("1!", "good", "success")               
        }
        else {            
        }

    </script>
}