<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      魔方NewLife.Cube升級v2.0

       魔方是一套集成權限管理的MVC管理后臺,最具特色功能是模版覆蓋機制,是XCode實體類的最佳搭檔!

      v2.0.2017.1126   借助Ajax支持高級操作,如:刪除選中、批量啟用禁用等

      用戶管理增加批量啟用、批量禁用,看看效果:

      選中要操作的行,上方工具欄的批量操作區域按鈕會從灰變亮,(取消所有選中時該區域會變灰)。點擊“批量啟用”,后臺發起Ajax請求到EnableSelect動作,處理完成后顯示提示文本,然后刷新頁面。

      根據魔方的模版覆蓋機制,在User視圖下增加名為 _List_Toolbar_Batch.cshtml 的視圖

      表示在顯示User的列表頁時,使用該視圖覆蓋全局默認視圖,(_List_Toolbar_Batch.cshtml的全局默認視圖其實為空)。

      該批量操作視圖位于工具欄第二位,左邊是添加按鈕,右邊是查詢條件。

      視圖內容如下:

      @using NewLife.Common;
      @{
          var user = ViewBag.User as IUser ?? User.Identity as IUser;
          var fact = ViewBag.Factory as IEntityOperate;
          var enableSelect = this.EnableSelect();
      }
      @if (enableSelect)
      {
          <button type="button" class="btn btn-purple btn-sm" data-action="enable" data-url="@Url.Action("EnableSelect")" data-fields="keys" disabled>
              批量啟用
          </button>
          <button type="button" class="btn btn-purple btn-sm" data-action="enable" data-url="@Url.Action("DisableSelect")" data-fields="keys" disabled>
              批量禁用
          </button>
      }

      魔方會攔截所有帶有data-action的按鈕和超鏈接,改為ajax向后端發起請求。

      data-fields 表示發起請求時需要攜帶的參數所在控件的名字,keys就是每一行開頭checkbox的控件名。

      服務端代碼如下:

      /// <summary>批量啟用</summary>
      /// <param name="keys"></param>
      /// <returns></returns>
      [EntityAuthorize(PermissionFlags.Update)]
      public ActionResult EnableSelect(String keys)
      {
          var count = 0;
          var ids = Request["keys"].SplitAsInt();
          if (ids.Length > 0)
          {
              //var list = UserX.FindAll(UserX._.ID.In(ids));
              Parallel.ForEach(ids, id =>
              {
                  var user = UserX.FindByID(id);
                  if (user != null && !user.Enable)
                  {
                      user.Enable = true;
                      user.Save();
      
                      Interlocked.Increment(ref count);
                  }
              });
          }
      
          return JsonRefresh("共啟用[{0}]個用戶".F(count));
      }

      MVC處理keys時只取第一個,不得不改用Request["keys"]。

      keys里面就是選中項的主鍵,這里用Parallel并行計算來進行批量更新。

      來看看后端響應:

      魔方統一了Ajax響應格式,result表示成功失敗,data是提示文本,特殊場合還可以響應結構化數據,url表示顯示文本后要跳轉的url,[refresh]特指刷新當前頁。

       

      借助魔方v2.0的Ajax機制,普通C#工程師可以無需編寫js腳本即可完成各種高級操作!

       

      源碼地址:http://git.NewLifeX.com/NewLife/X

      海外地址:https://github.com/NewLifeX/X

       

      我的博客即將同步至騰訊云+社區,邀請大家一同入駐。

      posted @ 2017-11-27 10:04  大石頭  閱讀(2580)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 国产成人剧情AV麻豆果冻| 亚州av第二区国产精品| 高清破外女出血AV毛片| 日本大片在线看黄a∨免费| 麻豆tv入口在线看| 日韩精品福利视频在线观看| 久久91精品牛牛| 白嫩少妇无套内谢视频| 亚洲国产av区一区二| 日韩精品国产中文字幕| 中文字幕日韩精品有码| 青草草97久热精品视频| 人妻少妇偷人一区二区| 加勒比精品一区二区三区| 亚洲国模精品一区二区| 日韩视频中文字幕精品偷拍| 国产一区二区精品自拍| 家居| 久久熟女| 亚洲国产成人资源在线| 五月婷婷久久草| av鲁丝一区鲁丝二区鲁丝三区| 亚洲精品熟女一区二区| 亚洲欭美日韩颜射在线二| 国产精一区二区黑人巨大| 国产成人亚洲欧美二区综合| 99久久伊人精品综合观看| 亚洲精品国产av成人网| 亚洲人成网网址在线看| 免费观看日本污污ww网站| 麻豆精品久久精品色综合| 国产精品一区二区中文| 亚洲人成网7777777国产| 精品视频一区二区福利午夜| 欧美日韩精品一区二区三区高清视频| 精品一区二区三区自拍图片区| 99精品久久毛片a片| 国内不卡不区二区三区| 国产精品高清一区二区三区不卡| 国产一区二区不卡在线视频| 女人的天堂A国产在线观看|