基於ASP.NET MVC的熱插拔模塊式開發框架(OrchardNoCMS)--BootStrap


 

 image

按照幾個月之前的計划,也應該寫一個使用Bootstrap作為OrchardNoCMS的UI庫。之前這段時間都是在學習IOS開發,沒顧得上寫,也沒顧得上維護OrchardNoCMS代碼。看看我的活動軌跡就知道啦:

image 

最近這兩周快過年了,剛好寫一篇博客來消磨時間,也順便希望可以對大家有所幫助。

由於我精簡后的版本中去掉了Orchard.jQuery模塊,所以首先我建立了一個模塊來存放我需要的所有JS和CSS文件。

image

創建一個ResourceManifest文件,它實現了接口IResourceManifestProvider。通過該類來把腳本和樣式文件定義好。

image

可以看到主要用到了jQuery,bootstrap,knockoutjs等,需要注意的是amberme.js是我們封裝好的一個腳本,通過它可以方便的綁定數據。

接下來我們需要在當前皮膚的Layout頁面中加入我們定義的JS文件和CSS文件。Orchard本身提供了一套資源管理機制。所以對應的引用機制你如果不了解可以先看一下下面的代碼:

image

對於JS文件的引用使用Script.Reuire()來獲取JS文件,Style.Require()獲取CSS文件。AtHead()方法表示該腳本需要放到Head節點,另外還有幾種方法可以參考代碼,或者自己試試。

接下來還是使用Orchard.Car模塊作為例子也說明如何使用我們的UI庫。

之前的Car模塊有個CarController,我們對應的為它的Index這個Action創建一個Index.cshtml,對應的Add這個Action對應的添加一個Add.cshtml頁面。

在Index頁面中,首先我們需要種一排按鈕,HTML如下:

image

綁定數據的列表HTML如下:

image

 

 

 

后台只負責傳過來數據,具體的列名自己在HTML種定義,有很大的靈活性。

頁面 加載完成后,綁定數據的初始化如下:

image

 

對應的還提供了很多功能,例如點擊按鈕后的回調,綁定數據前或者綁定完成后的函數調用等等。可以自己看看代碼(Amberme.js)。

image

運行界面如下:

image

在上面種增刪改的按鈕時,我們已經看到buttony有個屬性是data-template-url,新增按鈕的這個屬性為/car/add;所以當點擊該按鈕時,會彈出car控制器對應的add這個Action的View頁面:

image

 

 

彈出的頁面必須是個Form,這樣我們在提交表單時,使用jQuery.form的ajax提交,會有更好的體驗,而所有這些提交和驗證操作都已經在amberme.js中封裝好。你只需要配置正則表達式或者是屬性就行啦。

新增界面如下:

image

以上就是OrchardNoCMS的Bootstrap示例,可以到https://github.com/nicholaspei/OrchardNoCMS 下載完整代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM