如果MVC模型为空,则有条件地执行javascript

时间:2015-10-06 22:44:35

标签: javascript jquery ajax asp.net-mvc asp.net-mvc-4

我正在尝试在单击引导程序面板标题时执行ajax POST。这篇文章填充了我的视图模型。我只希望在Model.OrdersInEvaluation为空时发生此事件,因此每次单击标题时都不会发布帖子。所以,我试图结合剃刀和javascript:

<script>
@if (Model.OrdersInEvaluation == null)
{
    <Text>
    $("#evaluation-panel-heading").click(function() {
        $.ajax({
            url: '@Url.Action("EvaluationOrders", "Home")',
            type: 'POST',
            success: function(data) {
                if (data) {
                    $("#evaluation-panel-body").html(data);
                }
            }
        });
    });
</Text>
}
</script>

我知道Model.OrdersInEvaluation正在填充,因为我的视图中的表正在ajax调用中填充它。我错误地使用<text>了吗?或者是否可能在代码中出现另一个错误,导致每次单击时都会执行此错误?

1 个答案:

答案 0 :(得分:0)

我目前没有办法对此进行测试,但我认为:

@if (Model.OrdersInEvaluation == null)

此部分在服务器端运行,只在首次加载页面时呈现。它没有用你的ajax调用更新。

也许您可以查看$("#evaluation-panel-body")以查看它是否为空(如果适合您)