获取布尔值并在Ajax调用控制器中使用它

时间:2013-05-07 16:16:02

标签: asp.net-mvc jquery

我有这个javascript代码从我的控制器调用一个返回布尔值的函数

<script type="text/javascript">
    $(function () {
        $(document).ready(function NumberAmt() {

           $.ajax({
                url: 'CallCenter/CallCenterAmt',
                type: 'Get',
                contentType: 'application/json;',
                success: function (data) {                       
                }         

            });

        })            
    });

我希望能够在我的页面加载中的javascript函数中使用该布尔值,以确定从我的视图中显示的内容。请帮忙谢谢

这是它正在调用的控制器功能

[HttpPost]
    public ActionResult CallCenterAmt()
    {
        bool threeNumbers=false;
        try
        {
            using (var entities = new OpenRoad.Data.Repository.OpenRoadEntities())
            {
                var CallCenterNumberAmt = (from c in entities.CallCenterNumberAmts
                                           where c.SiteId == OpenRoad.Web.Session.SiteId
                                           select c).FirstOrDefault();
                if (CallCenterNumberAmt == null)
                {                       
                        CallCenterNumberAmt = new Data.Repository.CallCenterNumberAmt();

                        CallCenterNumberAmt.SiteId = OpenRoad.Web.Session.SiteId;
                        CallCenterNumberAmt.ThreeNumbers = false;
                        entities.CallCenterNumberAmts.Add(CallCenterNumberAmt);
                        entities.SaveChanges();                        
                }
                else
                {
                    if (CallCenterNumberAmt.ThreeNumbers == true)
                    {
                        threeNumbers= true;
                    }
                    else
                        threeNumbers= false;
                }
            }
        }
        catch
        {

        }
        return Json(threeNumbers);
    }

}

2 个答案:

答案 0 :(得分:1)

您的data应包含该值。您需要确保实际返回JSON,然后根据变量

调用它

e.g。 {YourVariable: true}

success: function(data) {
    if(data.YourVariable) {
    //true
    }
}

答案 1 :(得分:0)

不是Controller方法返回一个布尔值,而是返回一个包含布尔值的JSON对象。

即。 { isOkay : true }

然后在您的Ajax调用中,您可以检查以确保控制器使用data.hasOwnProperty("isOkay")返回您认为的操作,然后使用isOkay的值来确定您需要的其他内容。