public ActionResult DeleteGroup(DeleteContentTypeGroupViewModel model)
        {
            // валидация модели
            if (ModelState.IsValid)
            {
                // удаление
                if (contenttype.DeleteContentTypeGroup(model.contentgroups))
                {
                    // лог
                    logging.Logged(
                        "Info"
                        , "Пользователь " + User.Identity.Name + " удалил группу(ы) типа(ов) контента: " + string.Join(", ", model.contentgroups.Select(x => x.Name.ToString()).ToArray())
                        , this.GetType().Namespace
                        , this.GetType().Name
                        );

                    return(Json(new { result = "Redirect", url = Url.Action("Group", "ContentType") }));
                }
                ModelState.AddModelError("", "Группа(ы) используется контентом(и). Для начала освободите группу(ы) от всех типов контента.");
            }
            else
            {
                ModelState.AddModelError("", "Ошибка, пожалуйста проверьте данные");
            }

            return(PartialView(model));
        }
        public ActionResult DeleteGroup(string json_string)
        {
            // экземпляр модели
            DeleteContentTypeGroupViewModel model = new DeleteContentTypeGroupViewModel();

            // объект для десерелизации
            List <ContentGroup> contentgroups = new List <ContentGroup>();

            // десерелизация json_string
            var props = json.Deserialize(json_string, contentgroups.GetType());

            // наполняем
            contentgroups = (List <ContentGroup>)props;

            // теперь записываем в модель
            model.contentgroups = contentgroups;

            return(PartialView(model));
        }