asp.net+mvc+easyui+sqlite 簡單用戶系統學習之旅(二)—— easyui的簡單實用

下面開始在UserManager.Web中利用easyUI構建web。

1. 先刪除自帶的controllers、models和views(里面的shared和web.config可以保存)下面的文件

?

2. 要利用easyUI,首先去網上下載jquery-easyui-1.3.2.zip,同時下載一份EasyUI-1.3.2.CHM幫助文檔,方便查閱。

這里給出下載鏈接分享:

鏈接: http://pan.baidu.com/s/1c2xAGKS 密碼: pkd6

解壓后的easyui是這樣的

3. 下面在Controllers右擊添加新的控制器-HomeController.cs

這一部分可以先看前面提到的極客學院中講解MVC的視頻,簡單了解一下。

4. 在Views視圖下創建HomeController.cs對應的視圖,Views先添加新建文件夾,命名為Home

再在Home下新建視圖

命名為Index,不選擇母版,添加。

這時web項目已經新增了HomeController.cs和Index.aspx兩個文件,前者用來寫后臺判斷邏輯,后者則用來表示頁面。所以打開Home-Index,我們剛剛下載的easyUI也是在這里運用。

忘了介紹,easyUI是一款簡單,功能強大的js框架,在jQuery基礎上發展而來的。

http://www.jeasyui.com/index.php

這里是它的官方網址,里面有很多demo和教程可以學習觀看和利用。

5. 把下載的easyUI解壓后添加到添加到Web-Content下面,我們可以復制部分要用到的文件即可。先在Content下面新建Easyui文件夾(和Views新建Home操作一樣,重復的地方就不圖示了)。

把jquery-easyui-1.3.2目錄下的jquery-1.8.0.min.js和jquery.easyui.min.js直接復制(快捷鍵Ctrl+C)復制到Content-Easyui下(快捷鍵Ctrl+V),同樣,復制locale下的easyui-lang-zh_CN.js和整個themes文件夾。

6. 添加js庫到(home)Index中。(因為項目Views中可能包含多個Index.aspx,這里前面括號加上前綴表示屬于哪個視圖的index頁面)

按照順序添加jquery-1.8.0.min.js、jquery.easyui.min.js、easyui-lang-zh_CN.js!

然后為(home)Index添加easyui/themes/default/easyui.css和themes/icon.css的樣式。

7. 使用easyui中的layout樣式添加到(home)Index中。

可以先查看下載的jquery-easyui-1.3.2/demo/layout中的demo樣例,或者直接打開EasyUI-1.3.2.CHM(注意:把chm放在easyui文件夾下面,否則打開不能完整顯示圖片),查閱layout的使用。

<body class="easyui-layout"><div data-options="region:'north',border:false" style="height:61px;background:#0660bb;"><img src="/Content/Images/logo.png"/></div><div data-options="region:'west',split:true,title:'菜單欄'" style="width:250px;padding:10px;">west content</div><div data-options="region:'south',border:false" style="height:20px;background:#ccc;padding:1px">當前登錄人:JennyJiang</div><div data-options="region:'center',title:'主面板'" style="padding:10px">hello world!</div></body>

  將(home)Index中的<body>替換為上面的代碼,顯示layout:

layout按照上左右下中(north-west-east-south-center)的順序,在使用easyui的layout時,必須將body設置class=“easyui-layout”,否則就沒有用到,easyui的樣式通過data-options來調整。其中,center是必須添加的,其他面板可以刪除不顯示。layout的data-options請查閱chm幫助文檔學習。

8. 使用easyui的tree,設置菜單欄

使用幫助文檔中的第二種格式,定義id為tt的ul,將tree的內容以json的格式傳遞,定義在MessController.cs中。

(home)Index中的body如下:

<body class="easyui-layout"><div data-options="region:'north',border:false" style="height:61px;background:#0660bb;"><img src="/Content/Images/logo.png"/></div><div data-options="region:'west',split:true,title:'菜單欄'" style="width:250px;padding:10px;"><ul id="tt"></ul></div><div data-options="region:'south',border:false" style="height:20px;background:#ccc;padding:1px">當前登錄人:JennyJiang</div><div data-options="region:'center',title:'主面板'" style="padding:10px">hello world!</div><script type="text/javascript">$('#tt').tree({url: '/Mess/HomeMenu'});  </script></body>

在Controllers中新建控制器,MessController.cs,代碼如下:其中定義了tree中顯示的內容,即一個json的字符串返回

namespace UserManager.Web.Controllers
{public class MessController : Controller{//// GET: /Json/public ActionResult HomeMenu(){string json = string.Empty;json = @"[{""id"":1,""text"":""用戶列表"",""children"":[{""id"":11,""text"":""普通用戶"",""state"":""closed"",""children"":[{""id"":111,""text"":""用戶添加""},{""id"":112,""text"":""用戶功能""}]},{""id"":12,""text"":""超級用戶"",""state"":""closed"",""children"":[{""id"":121,""text"":""用戶添加""},{""id"":122,""text"":""用戶功能""}]},{""id"":13,""text"":""index.html""},{""id"":14,""text"":""about.html""},{""id"":15,""text"":""welcome.html""}]}]";return Content(json);}}
}

顯示頁面如下:

9. 使用easyui的tab,點擊左邊菜單欄的添加用戶,可以在右邊主面板中顯示

(home)Index中的body如下

<body class="easyui-layout"><div data-options="region:'north',border:false" style="height:61px;background:#0660bb;"><img src="/Content/Images/logo.png"/></div><div data-options="region:'west',split:true,title:'菜單欄'" style="width:250px;padding:10px;"><ul id="tt"></ul></div><div data-options="region:'south',border:false" style="height:20px;background:#ccc;padding:1px">當前登錄人:JennyJiang</div><div data-options="region:'center',title:'主面板'" style="padding:10px"><div id="tabs" class="easyui-tabs" data-options="fit:true">  <div title="home" style="padding:20px;display:none;">  hello world!</div>   </div></div><script type="text/javascript">$('#tt').tree({url: '/Mess/HomeMenu'});$('#tt').tree({onClick: function (node) {//alert(node.text);  // alert node text property when clicked// add a new tab panel   
                $('#tabs').tabs('add', {title: node.text,content: 'Tab Body',closable: true,}); }});</script></body>

當點擊左邊菜單欄選項時,右邊窗口會顯示對應名稱的tab,內容顯示“Tab Body”。

但重復點擊時仍然添加新的tab,對添加新的tab代碼進行改進,查看easyui關于tab的幫助文檔,有個exits。。。改進代碼如下:

$('#tt').tree({onClick: function (node) {//alert(node.text);  // alert node text property when clicked// add a new tab panel   這里使用exits判斷tab是否已經存在if($('#tabs').tabs('exists',node.text)){$('#tabs').tabs('select',node.text);}else{$('#tabs').tabs('add', {title: node.text,content: 'Tab Body',closable: true,});}  }});

修改后,重復單擊同一菜單欄時,不會再新建新的tab,而是返回到已建的tab。

另外,發現點擊文件夾,也會新建tab,通過“id”篩選過濾簡單地處理了。

10. 為tab創建一個新的view,而不是顯示簡單的“Tab Body”。新的視圖采用easyui的datagrid。

先在Views-Home下新建視圖UserEvent.aspx,這里一定要注意添加完視圖后一定要返回修改HomeController.cs,為其添加一個UserEvent的跳轉函數。

(將上面的代碼中的content:xx替換為href:xx)

這里可以簡單先參考幫助文檔里的datagrid顯示。

然而,每個菜單欄的選項點擊后,都自動跳轉到同一頁面,有時間的話,大家可以多寫幾個view,根據node.text分別對應到相應的視圖。

今天的學習先到這里,下一篇來寫登錄注銷和數據庫(SQLite)的一些東西。

最后放一張結果圖:

?

轉載于:https://www.cnblogs.com/jennyjiang-00/p/5753998.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374192.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374192.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374192.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

adc如何獲取周期_LOL:千玨擁有ADC最需要的位移和無敵能力,為什么沒人用她打下路?...

— 點擊藍字 關注我們 —英雄聯盟自國服上線以來&#xff0c;已經陪伴玩家走過了9個年頭&#xff0c;目前英雄聯盟中的英雄數量已經達到了151位&#xff0c;每一位都各具特色。千玨是一位深受玩家們喜愛的英雄&#xff0c;其在官方英雄的定位中&#xff0c;屬于打野英雄&#x…

航順HK32F030MF4P6 RST作GPIO SWCLK作EXTI5 SWDIO作ADC_AIN0

老習慣&#xff0c;先上代碼 void Hw_Input_Chage_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_IOMUX, ENABLE);GPIOMUX->NRST_PIN_KEY (uint32_t)(0x00005AE1); //KEY…

centos7.2下編譯安裝git

centos最新的7.2版本&#xff0c;git居然是1.8&#xff0c;而最新的git版本是2.9 差的太多了&#xff0c;何況git2.0后有大更新。于是&#xff0c;我決定編譯安裝。中間有一點小破折&#xff0c;記錄一下&#xff0c;備忘。 1&#xff0c;下載最新的源碼&#xff0c;網址&#…

java務必讓常量的值在運行期保持不變

/* 常量就是常量&#xff0c;在編譯期就必須確定其值&#xff0c;不應該在運行期更改&#xff0c;否則程序的可讀性會非常差 */public class proposal_2 {interface Const{public static final int RAND_CONSTnew Random().nextInt();}public static void main(String[] arg…

Java并發教程–信號量

這是我們將要進行的Java并發系列的第一部分。 具體來說&#xff0c;我們將深入探討Java 1.5及更高版本中內置的并發工具。 我們假設您對同步和易失性關鍵字有基本的了解。 第一篇文章將介紹信號量-特別是對信號量進行計數 。 信號量是用于限制對資源訪問的經常被誤解和使用不足…

android surfaceview 大小_Android 使用Camera2 API采集視頻數據

Android 視頻數據采集系列的最后一篇出爐了&#xff0c;和前兩篇文章想比&#xff0c;這篇文章從系統API層面進行一些探索&#xff0c;涉及到的細節更多。初次接觸 Camera2 API 會覺得它的使用有些繁瑣&#xff0c;涉及到的類有些多&#xff0c;不過就像第一次使用Activity, Fr…

java生成隨機字符串

學習java comparable特性時候&#xff0c;定義如下Student類&#xff0c;需要需要隨機添加學生姓名以及學號和成績&#xff0c;這是java如何隨機生成名字&#xff0c;根據我的查詢&#xff0c;我找到目前java庫支持兩種方法。 1. org.apache.commons.lang3.RandomStringUtils類…

使用SharedPreferenes存取數據

//使用SharedPreference存儲數據 public void on(View view){     //獲取用戶名和密碼     String nameeditText1.getText().toString();     String numbereditText2.getText().toString();     //判斷checkBox是否為勾選      CheckBox box(CheckBox…

使用Java VisualVM分析您的應用程序

當您需要發現應用程序的哪個部分消耗更多的CPU或內存時&#xff0c;必須使用探查器執行此操作。 默認情況下&#xff0c;Sun JDK中附帶的一個探查器是Java VisualVM。 這個事件探查器非常簡單易用&#xff0c;功能強大。 在這篇文章中&#xff0c;我們將看到如何安裝它并使用它…

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接 原文:ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接安裝ArcSDE for SQL Server&#xff0c;最后一步成功后的界面如下&#xff1a;在ArcMap中創建ArcSDE連接&#xff0c;截圖如下&#xff1a;posted on 2016-08-0…

java反射main方法參數注意

public class ReflectMethodMain {public static void main(String[] args) throws Exception {Method methodMainTestArgument.class.getMethod("main", String[].class);/*jdk 1.4之前的版本不支持可變參數&#xff0c;對組類的參數會自動拆包然后用來匹配數據參數…

python調用c函數傳字符串參數_Python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數...

在Python語言中&#xff0c;可以使用ctypes模塊調用其它如C語言編寫的動態鏈接庫DLL文件中的函數&#xff0c;在提高軟件運行效率的同時&#xff0c;也可以充分利用目前市面上各種第三方的DLL庫函數&#xff0c;以擴充Python軟件的功能及應用領域&#xff0c;減少重復編寫代碼、…

沁恒CH554 KEIL環境搭建

首先下載WCHISPTool_Setup.exe http://www.wch.cn/products/CH554.html 123這三個可下載的都下吧&#xff0c;后面開發都要用的 安裝好后運行&#xff0c;菜單欄上&#xff0c;功能->添加WCH MCU到KEIL器件庫 這時候在KEIL安裝目錄里面的UV4文件夾下可以看到wch.cdb的文件…

【CV論文閱讀】Rank Pooling for Action Recognition

這是期刊論文的版本&#xff0c;不是會議論文的版本。看了論文之后&#xff0c;只能說&#xff0c;太TM聰明了。膜拜~~ 視頻的表示方法有很多&#xff0c;一般是把它看作幀的序列。論文提出一種新的方法去表示視頻&#xff0c;用ranking function的參數編碼視頻的幀序列。它使用…

java不要在常量和變量中出現易混淆的字母

public class proposal {public static void main(String[] args) {long i1l; System.out.println("i的兩倍是&#xff1a;"(ii));System.out.println("i的兩倍是&#xff1a;"ii); //注意此處和上面的有很大的區別} }輸出&#xff1a;211/** 注意:* …

VS2019 WPF制作OTA上位機(一)新建工程

首先創建新項目&#xff0c;文件 -> 新建 -> 項目 下拉菜單選擇C#和Window&#xff0c;選擇WPF應用程序&#xff0c;下一步 輸入項目名&#xff0c;下一步 這里選擇.NET 5.0&#xff0c;也可以選擇其他的&#xff0c;個人習慣.NET&#xff0c;點擊創建 這時候出現初始…

戶籍恢復需要體檢嗎_腦梗死后腳麻能恢復嗎?需要多久能恢復呢?

腦梗死之后腳部麻木&#xff0c;這個有一部分是能夠恢復的&#xff0c;但是相對而言&#xff0c;恢復的時間比較長&#xff0c;在臨床當中出現腳麻主要是因為梗死破壞了患者的感覺神經中樞從而造成。腳部感覺麻木&#xff0c;瘙癢或者是有螞蟻在上面爬的感覺。而且有的更加嚴重…

Alpha版本測試報告

一、測試計劃 Alpha版本即將發布&#xff0c;我們組織隊員進行這一版本的測試。 測試主要針對兩方面&#xff1a;瀏覽器兼容性和功能完善性。 測試分兼容性測試與功能完善性兩部分&#xff0c;兼容性測試分Windows操作系統、Linux系操作系統、Mac OS X操作系統以及手機端Androi…

在J2SE應用程序中模擬CDI的會話和請求范圍

我們目前正在考慮將Naked Objects框架重構為使用JSR-330&#xff08;依賴注入&#xff09;和面向EE的老大哥JSR-299&#xff08;CDI&#xff09;。 使用香草JSR-330是不費吹灰之力的&#xff0c;但是我們想利用JSR-299中的一些不錯的功能&#xff08;例如事件和裝飾器&#xff…

VS2019 WPF制作OTA上位機(二)獲取bin文件路徑

OTA升級是通過無線通信遠程把bin文件內容傳輸到單片機&#xff0c;完成升級。 因此上位機需要獲取bin文件的路徑&#xff0c;讀取bin文件內容&#xff0c;將內容分割依次發送&#xff08;因為單片機的接收緩存不會開得和bin文件一樣大&#xff08;十幾K甚至幾十K&#xff09;&a…