/// <summary> /// Name DateFrom DateTo 三个条件为基础的条件,有其他条件可以在 相应的子类中扩展 /// </summary> /// <param name="pager"></param> /// <returns></returns> public ActionResult SearchMenu(MenuPager pager) { var sql = @"SELECT t1.[keyid] ,[C_Name] ,[C_Description] ,[C_ParentMenu] , ParentMenu ,[C_Controller] ,[C_Action] ,[C_CreatedDate] ,[C_UpdatedDate] FROM [DATA_MANAGE].[dbo].[tbl_Menu] t1 left join (select keyid, C_Name as ParentMenu from tbl_menu) as t2 on t1.C_parentMenu=t2.keyid"; var where = new StringBuilder(" where 1=1 "); if (!string.IsNullOrWhiteSpace(pager.Name)) { where.AppendLine("and Name like '%" + pager.Name + "%'"); } if (!string.IsNullOrWhiteSpace(pager.DateFrom)) { where.AppendLine(" and C_CreatedDate>'" + pager.DateFrom + "'"); } if (!string.IsNullOrWhiteSpace(pager.DateTo)) { where.AppendLine(" and C_CreatedDate<'" + pager.DateTo + "'"); } try { var service = Container.GetService <IMenuService>(); var menudtos = service.GetModelsByPage <MenuDto>(pager.pageSize, pager.pageIndex, sql + where); var menuinfos = MenuInfo.ConvertToMenuInfos(menudtos); var grid = new MenuGrid(); grid.rows = menuinfos; grid.total = service.GetTableCount(where.ToString()); return(Json(grid)); } catch (Exception ex) { ViewBag.Operation = ex.Message; return(View("Error")); } }