Exemplo n.º 1
0
        /// <summary>
        /// 批量操作请求的处理函数
        /// </summary>
        /// <returns></returns>
        protected virtual IActionResult BatchAction()
        {
            // 防跨站攻击
            this.RequireAjaxRequest();
            var actionName = Request.Get <string>("action");
            var action     = BatchActions.GetOrDefault(actionName);

            if (action == null)
            {
                // 找不到对应的操作
                throw new NotFoundException(string.Format(new T("Action {0} not exist"), actionName));
            }
            // 检查权限
            var privilegeManager = Application.Ioc.Resolve <PrivilegeManager>();

            privilegeManager.Check(RequiredUserType, action.Item2);
            return(action.Item1());
        }
Exemplo n.º 2
0
        public string GetConfigObjectSerialized(IUrlHelper url)
        {
            var columns = GetColumnsOrdered();

            return(JsonConvert.SerializeObject(new
            {
                columns = columns.Select(tc => tc.GetDataTablesObject(ServerSide)),
                rowGroup = BuildRowGroupObject(columns),
                ajax = new { url = TableItemsApiUrl },
                hasStaticIndexColumn = HasTableIndexColumn,
                skipDefaultModalEventHandlers = SkipDefaultModalEventHandlers,
                enableColumnSearch = EnableColumnSearch,
                checkboxSelection = CheckboxSelection,
                batchActions = BatchActions?.Select(ba => ba.GetConfigObject(url)),
                tableActions = TableActions,
                serverSide = ServerSide,
                searchDelay = ServerSideSearchDelay,
                iDisplayLength = DefaultDisplayLength
            }));
        }