日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

魔方NewLife.Cube升级v2.0

發布時間:2024/3/24 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 魔方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

?

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

我不相信神話,我只相信汗水!我不相信命運,我只相信雙手!

總結

以上是生活随笔為你收集整理的魔方NewLife.Cube升级v2.0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。