亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DWZ、NHibernate和ASP.NETMVC3架構的Web開發(fā)應用

        2014-12-27 05:23:54呂浩志
        科技視界 2014年5期
        關鍵詞:視圖頁面架構

        呂浩志

        (西南林業(yè)大學 林學院,云南 昆明655024)

        0 引言

        軟件開發(fā)過程中,為了減少基礎代碼,提高開發(fā)效率,就需要一個好的開發(fā)框架。

        Mvc(model-view-controller)是目前軟件開發(fā)中廣泛采用的一種設計模式。它把一個Web應用分離為模型、視圖和控制器三個部分,使得系統(tǒng)結構清晰,利于維護和擴展。

        DWZ實現(xiàn)了CSS和JS代碼徹底分離,修改樣式方便,與ASP.NET MVC整合實現(xiàn)Web應用程序的快速開發(fā)。

        NHibernate不僅僅管理.NET類到數(shù)據(jù)庫表的映射(包括.NET數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射),還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,大幅度減少我們開發(fā)時人工使用SQL和ADO.NET處理數(shù)據(jù)的時間。

        1 軟件開發(fā)總體架構

        軟件開發(fā)總體架構對應的Web請求處理流程如圖1所示,大致步驟如下:

        圖1 Web請求流程

        (1)用戶提交Web請求

        (2)路由模塊將請求信息發(fā)送給相應的控制器,由控制器決定如何處理請求;

        (3)控制器根據(jù)請求處理邏輯,調用持久化類中相應的操作;

        (4)根據(jù)實際需求,完成數(shù)據(jù)的查詢或存儲、更新;

        (5)返回查詢的結果表或視圖;

        (6)NHibernate將表或視圖映射成相應的對象并賦值給Modle;

        (7)Model將業(yè)務請求的結果返回給控制器;

        (8)控制器組織處理信息,調用視圖解析從模型返回的數(shù)據(jù);

        (9)DWZ完成頁面渲染,返還數(shù)據(jù)給瀏覽器。

        2 實際應用

        下面以一個項目的實例片斷詳細介紹DWZ、NHibernate與ASP.NET MVC 3框架的整合。

        2.1 搭建項目框架

        打開Microsoft Visual Studio 2010,新建一個MVC項目。在新建的MVC項目中添加DWZ初始化文件(dwz.frag.xml)、Content文件夾中添加DWZ樣式和Scripts文件夾中添加DWZ腳本庫。

        在新建的MVC項目中添加以下引用:Castle.Core.dll,Iesi.Collections.dll,log4net.dll,LinFu.DynamicProxy.dll,NHibernate.ByteCode.Castle.dll,NHibernate.ByteCode.LinFu.dll,NHibernate.dll,并添加數(shù)據(jù)庫映射配置信息文件h.cfg.xml,如下所示:

        2.2 DWZ與MVC整合

        2.2.1 navTab中的局部分頁

        視圖中的分頁控制代碼如下:

        其中第一個fflt;optionffgt;的value="@ViewData["NumPerPage"]"表示每頁顯示的條數(shù),@ViewData["Total"]表示總共多少條,@ViewData["currentPage"]表示當前的頁碼,這些都是通過ViewBag將控制器中的參數(shù)傳遞給視圖。以下是控制中的代碼:

        var pageIndex=pageNum.HasValue?pageNum.Value-1:0;

        var pageSize=numPerPage.HasValueffamp;ffamp;numPerPage.Valueffgt;0?numPerPage.Value:5;

        int allCount=vrecordlistDao.count(whereString);

        int pageNo=pageIndex+1;

        CalPage calPage=new CalPage(allCount,pageSize,pageNo);

        IListfflt;Vrecordlistffgt; list= vrecordlistDao.findByPage(calPage,whereString);

        ViewBag.Total=allCount;

        ViewBag.NumPerPage=pageSize;

        ViewBag.currentPage=pageNo;

        其中count(whereString)是獲取總條數(shù),findByPage(calPage,whereString)返回分頁數(shù)據(jù),calPage分頁的參數(shù)。

        圖2 分頁效果圖

        2.2.2 局部Div刷新

        以下是主頁面中的表單:fflt;form method="post"action=""onsubmit="return

        validateCallback(this,refreshBoxAjaxDone);"ffgt;fflt;/formffgt;表單提交后根據(jù)Json傳遞的參數(shù),執(zhí)行refreshBoxAjaxDone()進行局部刷新。自定義的JavaScript局部刷新函數(shù)如下:

        后臺返回的Json如下:Json({statusCode="200",message="保存成功",navTabId="",rel="rel",forwardUrl=url,callbackType=""},JsonRequestBehavior.AllowGet);其中$('#'+json.rel)是用Jquery找到局部Div在主頁面中的位置,然后重新加載forwardUrl達到刷新的目的。

        2.3 NHibernate持久化的實現(xiàn)

        2.3.1 數(shù)據(jù)庫映射配置信息文件

        在Global.asax中初始化數(shù)據(jù)庫映射配置信息文件NHibernateUtils.SessionFactory.init

        (Server.MapPath("~/h.cfg.xml"));以下是SessionFactory.cs類中的對象和方法:

        //初始化配置文件

        2.3.2 數(shù)據(jù)庫的添加操作

        }

        2.3.3 數(shù)據(jù)庫的更新操作

        2.3.4 數(shù)據(jù)庫的刪除操作

        3 結語

        應用DWZ、NHibernate和ASP.NET MVC 3架構來進行Web應用的開發(fā),不僅降低了程序開發(fā)難度,而且利于程序的維護和擴展。本文通過總結實際項目開發(fā)中的部分經驗,希望通過上文介紹能讓讀者對DWZ、NHibernate和ASP.NET MVC 3架構的應用有所了解。

        [1]DWZ富客戶端框架使用手冊[S].

        [2]趙廣利.基于NHibernate的數(shù)據(jù)持久化方案[J].計算機工程,2009,35(20).

        [3]姚渝濤.開源框架DWZ與ASP.NET MVC3的整合應用[J].電腦編程技巧與維護,2012(17)

        猜你喜歡
        視圖頁面架構
        大狗熊在睡覺
        基于FPGA的RNN硬件加速架構
        刷新生活的頁面
        功能架構在電子電氣架構開發(fā)中的應用和實踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        5.3 視圖與投影
        視圖
        LSN DCI EVPN VxLAN組網架構研究及實現(xiàn)
        電信科學(2017年6期)2017-07-01 15:45:17
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        一種基于FPGA+ARM架構的μPMU實現(xiàn)
        国语对白自拍视频在线播放| 帮老师解开蕾丝奶罩吸乳视频| 丁香六月久久婷婷开心| 久久精品第九区免费观看| 亚洲国产精品一区二区久久恐怖片| 亚洲中文字幕久久精品色老板| 高潮精品熟妇一区二区三区| 在线观看视频日本一区二区 | 冲田杏梨av天堂一区二区三区| 色婷婷激情在线一区二区三区| 亚洲精品在线观看自拍| 精品国产亚洲一区二区三区四区| 亚洲一区二区三区成人网| 国产免费人成视频网站在线18| av黄色大片久久免费| 在线观看国产激情免费视频| 国产成人自拍视频播放| 男男亚洲av无一区二区三区久久| 未满十八18禁止免费无码网站| 色综合av综合无码综合网站| 久久精品夜色国产亚洲av| a人片在线观看苍苍影院| 精品久久久噜噜噜久久久| 无遮挡又黄又刺激又爽的视频| 无码熟妇人妻av在线影片| 野外性史欧美k8播放| 一个人看的www免费视频中文| 国产精品自产拍在线观看免费| 久久免费观看国产精品| 亚洲AV秘 无码一区二p区三区| 国产v综合v亚洲欧美大天堂| 91精品国产91久久久无码色戒| 中文字幕有码在线视频| 日韩肥熟妇无码一区二区三区| 手机在线观看成年人视频| 亚洲码专区亚洲码专区| 国产自拍偷拍精品视频在线观看| 国产精品无码一区二区在线观一 | 无码人妻精品中文字幕| 中文字幕亚洲欧美在线不卡| 48沈阳熟女高潮嗷嗷叫|