<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      實現(xiàn)倉儲管理系統(tǒng)目錄 <https://www.cnblogs.com/chillsrc/p/11231284.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——ABP總體介紹(一)
      <https://www.cnblogs.com/chillsrc/p/10913047.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——解決方案介紹(二)
      <https://www.cnblogs.com/chillsrc/p/10944870.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——領域?qū)觿?chuàng)建實體(三)
      <https://www.cnblogs.com/chillsrc/p/10980974.html>

      ?abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——定義倉儲并實現(xiàn) (四)
      <https://www.cnblogs.com/chillsrc/p/11024357.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——創(chuàng)建應用服務(五)
      <https://www.cnblogs.com/chillsrc/p/11065667.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——展現(xiàn)層實現(xiàn)增刪改查之控制器(六)
      <https://www.cnblogs.com/chillsrc/p/11096690.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——展現(xiàn)層實現(xiàn)增刪改查之列表視圖(七)
      <https://www.cnblogs.com/chillsrc/p/11124614.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——展現(xiàn)層實現(xiàn)增刪改查之增刪改視圖(八)
      <https://www.cnblogs.com/chillsrc/p/11159642.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——展現(xiàn)層實現(xiàn)增刪改查之菜單與測試(九)
      <https://www.cnblogs.com/chillsrc/p/11195189.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——多語言(十)
      <https://www.cnblogs.com/chillsrc/p/11231265.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——使用 WEBAPI實現(xiàn)CURD (十一)
      <https://www.cnblogs.com/chillsrc/p/11269737.html>

      abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——菜單-上 (十六)
      <https://www.cnblogs.com/chillsrc/p/11448287.html>

      ?

      三、動態(tài)加載菜單

      ?????? 通過 abp(net core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——菜單-上 (十六)
      <https://www.cnblogs.com/chillsrc/p/11448287.html>
      這篇文章,我們已經(jīng)了解了ABP中的菜單相關(guān)的類及類的屬性與方法,接下我們通過實例來實現(xiàn)一個動態(tài)加載菜單的功能。動態(tài)菜單是我們在abp(net
      core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——領域?qū)觿?chuàng)建實體(三)
      <https://www.cnblogs.com/chillsrc/p/10980974.html>至abp(net
      core)+easyui+efcore實現(xiàn)倉儲管理系統(tǒng)——展現(xiàn)層實現(xiàn)增刪改查之增刪改視圖(八)
      <https://www.cnblogs.com/chillsrc/p/11159642.html>中添加的功能模塊。

      ???? 1. 在Visual Studio
      2017的“解決方案資源管理器”中,右鍵單擊“ABP.TPLMS.Mvc.Web”項目的“Startup”文件夾,在彈出菜單中選擇“添加” > > “類”。
      將類命名為 DaynaicAddMenu,然后選擇“添加”。如下圖。

      ?

      ?

      ????? 2. 在Visual Studio 2017的編輯器中打開我們剛才創(chuàng)建的DaynaicAddMenu.cs文件,寫入如下代碼。

      ?
      using Abp.Application.Navigation; using Abp.Localization; using
      ABP.TPLMS.Entitys;using System; using System.Collections.Generic; using
      System.Linq;using System.Threading.Tasks; namespace ABP.TPLMS.Web.Startup {
      public class DynamicAddMenu { Modules.IModuleAppService _moduleAppService;
      public DynamicAddMenu(Modules.IModuleAppService moduleApp) { _moduleAppService =
      moduleApp; }public MenuItemDefinition AddMenus() { #region 動態(tài)菜單 var modules=
      _moduleAppService.GetAll();var project = new MenuItemDefinition( "Business", L("
      Business"), icon: "menu", order: 5 ); var list = modules.ToList();
      FillMenu(project,0, list); return project; #endregion } // 遞歸算法 private void
      FillMenu(MenuItemDefinition menu,int ParentId, List<Module> modules) { List
      <Module> drs = modules.Where(x=>x.ParentId==ParentId).ToList(); if (drs == null
      || drs.Count <=0) { return; } else { for (int i = 0; i < drs.Count; i++) {
      Module dr= drs[i]; MenuItemDefinition nodeName = new MenuItemDefinition(
      dr.Name, L(dr.DisplayName), url: dr.Url, icon:"business",
      requiredPermissionName: dr.RequiredPermissionName, customData: i );
      menu.AddItem(nodeName); FillMenu(nodeName, dr.Id, modules); } } }private static
      ILocalizableString L(string name) { return new LocalizableString(name,
      TPLMSConsts.LocalizationSourceName); } } }
      ?

      ????? 3. 在Visual Studio
      2017的編輯器中打開“ABP.TPLMS.Mvc.Web”項目的“Startup”文件夾中的TPLMSNavigationProvider.cs文件,寫入加載菜單的代碼。下面代碼中的粗體部分。

      using Abp.Application.Navigation; using Abp.Localization; using
      ABP.TPLMS.Authorization;namespace ABP.TPLMS.Web.Startup { /// <summary> ///
      This class defines menus for the application./// </summary> public class
      TPLMSNavigationProvider : NavigationProvider { Modules.IModuleAppService
      _moduleAppService;public TPLMSNavigationProvider(Modules.IModuleAppService
      moduleApp) { _moduleAppService= moduleApp; } public override void
      SetNavigation(INavigationProviderContext context) {var subMenu = new
      DynamicAddMenu(_moduleAppService).AddMenus(); context.Manager.MainMenu .AddItem(
      new MenuItemDefinition( PageNames.Home, L("HomePage"), url: "", icon: "home",
      requiresAuthentication:true ) ).AddItem( new MenuItemDefinition(
      PageNames.Tenants, L("Tenants"), url: "Tenants", icon: "business",
      requiredPermissionName: PermissionNames.Pages_Tenants ) ).AddItem(new
      MenuItemDefinition( PageNames.Users, L("Users"), url: "Users", icon: "people",
      requiredPermissionName: PermissionNames.Pages_Users ) ).AddItem(new
      MenuItemDefinition( PageNames.Roles, L("Roles"), url: "Roles", icon: "
      local_offer", requiredPermissionName: PermissionNames.Pages_Roles ) ) .AddItem(
      new MenuItemDefinition( PageNames.Module, L("Module"), url: "Module", icon: "
      local_offer" ) ) .AddItem( new MenuItemDefinition( PageNames.Supplier, L("
      Supplier"), url: "Supplier", icon: "people" ) ) .AddItem(subMenu ) .AddItem(
      new MenuItemDefinition( PageNames.About, L("About"), url: "About", icon: "info"
      ) ).AddItem(// Menu items below is just for demonstration! new
      MenuItemDefinition("MultiLevelMenu", L("MultiLevelMenu"), icon: "menu"
      ).AddItem(new MenuItemDefinition( "AspNetBoilerplate", new
      FixedLocalizableString("ASP.NET Boilerplate") ).AddItem( new MenuItemDefinition(
      "AspNetBoilerplateHome", new FixedLocalizableString("Home"), url: "
      https://aspnetboilerplate.com?ref=abptmpl" ) ).AddItem( new MenuItemDefinition(
      "AspNetBoilerplateTemplates", new FixedLocalizableString("Templates"), url: "
      https://aspnetboilerplate.com/Templates?ref=abptmpl" ) ).AddItem( new
      MenuItemDefinition("AspNetBoilerplateSamples", new FixedLocalizableString("
      Samples"), url: "https://aspnetboilerplate.com/Samples?ref=abptmpl" ) ).AddItem(
      new MenuItemDefinition( "AspNetBoilerplateDocuments", new
      FixedLocalizableString("Documents"), url: "
      https://aspnetboilerplate.com/Pages/Documents?ref=abptmpl" ) ) ).AddItem( new
      MenuItemDefinition("AspNetZero", new FixedLocalizableString("ASP.NET Zero")
      ).AddItem(new MenuItemDefinition( "AspNetZeroHome", new FixedLocalizableString("
      Home"), url: "https://aspnetzero.com?ref=abptmpl" ) ).AddItem( new
      MenuItemDefinition("AspNetZeroDescription", new FixedLocalizableString("
      Description"), url: "https://aspnetzero.com/?ref=abptmpl#description" )
      ).AddItem(new MenuItemDefinition( "AspNetZeroFeatures", new
      FixedLocalizableString("Features"), url: "
      https://aspnetzero.com/?ref=abptmpl#features" ) ).AddItem( new
      MenuItemDefinition("AspNetZeroPricing", new FixedLocalizableString("Pricing"),
      url:"https://aspnetzero.com/?ref=abptmpl#pricing" ) ).AddItem( new
      MenuItemDefinition("AspNetZeroFaq", new FixedLocalizableString("Faq"), url: "
      https://aspnetzero.com/Faq?ref=abptmpl" ) ).AddItem( new MenuItemDefinition( "
      AspNetZeroDocuments", new FixedLocalizableString("Documents"), url: "
      https://aspnetzero.com/Documents?ref=abptmpl" ) ) ) ); } private static
      ILocalizableString L(string name) { return new LocalizableString(name,
      TPLMSConsts.LocalizationSourceName); } } }
      ?

      ??? 4. 在Visual Studio
      2017的“解決方案資源管理器”中,找到“ABP.TPLMS.Application”項目中的“Modules”目錄,在編輯器中打開
      IModuleAppService.cs 接口文件。添加獲取全部模塊的代碼。代碼如下。

      List<Module> GetAll();
      ??? 5. 在Visual Studio
      2017的“解決方案資源管理器”中,找到“ABP.TPLMS.Application”項目中的“Modules”目錄,在編輯器中打開
      ModuleAppService.cs 文件。添加獲取全部模塊的代碼。代碼如下。??

      public List<Module> GetAll() { var books = _moduleRepository.GetAllList();
      return books; }
      ???? 6. 前端代碼不用作任何修改。在Visual Studio 2017中按F5運行應用程序。登錄之后,效果如下圖。

      ?

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          女人高潮动态图 | 性福利视频 | 男人天堂亚洲天堂 | 操骚B| 成人免费无码视频网站 | 国产精品99精品免费无码视频 | 国产亚洲精品久久久久久青梅 | 新版欧美内射大全 | 无码A级毛片免费看视频 | 农村乱伦视频 |