Ajax call gets cached, despite the appropriate parameter

I’m currently writing a MVC C# application. Everything works just fine. I have a bit of functionality, where I fill up a Bootstrap modal box using an Ajax call, but the new page gets cached, despite my efforts to prevent that.

On my main page I have the following actionhandler to fill up the modal box:

function setExtraPermsOrAtts(appID){
    $.ajax({
        cache:false,
        url: "/Group/_modifyAppPermissionsOfGroup?appID=" + appID            
    }).done(function (result) {
        $("#addApplicationBody").html(result);
        $('#modal-add-application').modal('show');
    });
}

This gets caught by the following method:

    public ActionResult _modifyAppPermissionsOfGroup(int? appID = 0)
    {
        if (appID != 0)
        {
            ViewBag.selectedAppID = appID;
            Session["selectedGroupAppID"] = appID;
            ViewBag.modifyPermsLater = true;
        }
        Group group = (Group)Session["currentGroup"];
        return View(group);
    }

Another thing that might be relevant is the point where it ‘goes wrong’. The resulting View in the Modalbox, has a few radio buttons, depending on the content of the database. There I do a razor statement to get the DB value:

bool valueOfRadButtons = BusinessLogic.Domain.GroupIS.getExistingGroupPermission( 
                 Model.LoginGroupID, myItem.ApplicationPermissionID).LoginPermissionState;

Does anyone know where I’m going wrong? Is it the Ajax call? The ActionResult method in the Controller? Or the inline razor statement? I know the data gets saved properly, cause I see so in the DB


Source: ajax

Leave a Reply