999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于MVC架構(gòu)的報(bào)表填報(bào)模塊快速實(shí)現(xiàn)

2013-12-31 00:00:00蘇圣
科技資訊 2013年17期

摘 要:報(bào)表在企業(yè)信息系統(tǒng)中具有極其重要的作用,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)C/S模式的企業(yè)信息系統(tǒng)都在向B/S模式遷移,報(bào)表填報(bào)作為信息系統(tǒng)中的一個(gè)重要模塊,在開發(fā)過程中占據(jù)了相當(dāng)大的比重。本文介紹了一種基于ASP.NET MVC框架的快速開發(fā)報(bào)表填報(bào)的模塊的方案。

關(guān)鍵詞:報(bào)表填報(bào) ASP.NET MVC 模型綁定

中圖分類號(hào):TP2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2013)06(b)-0025-01

報(bào)表填報(bào)模塊的主要開發(fā)任務(wù)在于用戶界面、輸入控制、自動(dòng)計(jì)算以及數(shù)據(jù)持久化的實(shí)現(xiàn),當(dāng)報(bào)表簡單的時(shí)候,可能不需要太多的代碼就能完成這部分的工作,而在報(bào)表復(fù)雜的時(shí)候,這部分的工作量會(huì)變得相當(dāng)繁重且容易出錯(cuò)。面對(duì)這部分的開發(fā)任務(wù)時(shí),開發(fā)人員總是希望能夠有一種簡單的、可靠的方式快速完成這部分的工作。本文基于ASP.NET MVC框架,通過其中的模型綁定技術(shù),實(shí)現(xiàn)了報(bào)表填報(bào)模塊的快速開發(fā)。

1 相關(guān)技術(shù)介紹

1.1 ASP.NET MVC框架

ASP.NETMVC是微軟公司提供的以MVC模式為基礎(chǔ)的ASP.NETWeb應(yīng)用程序框架,通過把項(xiàng)目分成Model、View和Controller,使得復(fù)雜項(xiàng)目更加容易維護(hù),可以方便的控制應(yīng)用程序的行為,適合大型團(tuán)隊(duì)項(xiàng)目開發(fā)。

1.2 ASP.NET MVC的模型綁定技術(shù)

ASP.NET MVC模型綁定通過引入自動(dòng)填充控制器操作參數(shù)的抽象層、處理通常與使用ASP.NET請求數(shù)據(jù)有關(guān)的普通屬性映射和類型轉(zhuǎn)換代碼來簡化控制器操作。模型綁定的過程包括2個(gè)步驟:從請求收集值并使用這些值填充模型。這2個(gè)步驟分別由值提供程序和模型綁定程序來完成,這部分的實(shí)現(xiàn)可以參考ASP.NETMVC的相關(guān)資料,這里就不做闡述了。

2 實(shí)現(xiàn)方案

ASP.NET MVC的項(xiàng)目包括Model、View和Controller,下面我們通過一個(gè)簡單的表單逐一介紹這些模塊的實(shí)現(xiàn)。

2.1 Model和數(shù)據(jù)層

在我們進(jìn)行到填報(bào)模塊的開發(fā)的時(shí)候,數(shù)據(jù)庫結(jié)構(gòu)通常都已經(jīng)確定了,我們需要實(shí)現(xiàn)各個(gè)表單對(duì)應(yīng)的實(shí)體和其數(shù)據(jù)訪問層,這部分的代碼和數(shù)據(jù)庫表相對(duì)應(yīng),而且基本相似,可以通過代碼生成器來生成。我們使用代碼生成器生成對(duì)應(yīng)的數(shù)據(jù)實(shí)體類主要代碼如下:

[EntityProperty(MappingTable="TP1",MappingColumn="iD",PropertyType= OracleType.Number)]

public string iD { get { return this["iD"]; } set { this["iD"] = value; }}

每個(gè)數(shù)據(jù)庫字段對(duì)應(yīng)一個(gè)實(shí)體類的屬性,并用一個(gè)自定義的元數(shù)據(jù)指明這個(gè)字段映射的數(shù)據(jù)庫表名,字段名稱,以及其數(shù)據(jù)類型。

同時(shí),我們使用代碼生成器生成了該實(shí)體的數(shù)據(jù)庫操作類,實(shí)現(xiàn)了對(duì)該表單的基本數(shù)據(jù)庫操作實(shí)現(xiàn)。

2.2 View和頁面邏輯實(shí)現(xiàn)

報(bào)表通常都有自己固定的樣式,所以,在實(shí)現(xiàn)用戶界面之前,我們可以通過word,excel或者其他工具先把這個(gè)報(bào)表的樣子按照需要做出來,并在其對(duì)應(yīng)的數(shù)據(jù)部分標(biāo)明為數(shù)據(jù)庫字段,然后通過另存為、導(dǎo)出之類的方式得到包含數(shù)據(jù)庫字段標(biāo)簽的HTML文檔,再通過正則表達(dá)式進(jìn)行查找替換,將標(biāo)簽替換為實(shí)體變量,這樣就得到了View的基本代碼,這個(gè)過程的代碼示例如下:

替換前的Html源碼:

替換后的View代碼:

@Html.TextBoxFor(model=> Model.f1,new{@class="edititem"})

這部分Html代碼的樣式都由設(shè)計(jì)工具生成,我們只替換了數(shù)據(jù)部分的代碼,為每個(gè)字段提供了一個(gè)呈現(xiàn)和一個(gè)文本框輸入。

由于報(bào)表的特殊性,字段之間的值可能使用公式來計(jì)算獲得,基于JavaScript引擎,我們實(shí)現(xiàn)了一個(gè)簡單的公式添加方法,只要在視圖上定義一個(gè)公式數(shù)組即可,如:

var exp=["f1=f2+f3+f6+f7", "f6=f1+f4+f5"]。

當(dāng)用戶修改對(duì)應(yīng)文本框的值的時(shí)候,頁面會(huì)自動(dòng)進(jìn)行公示計(jì)算。

2.3 控制器和模型綁定

當(dāng)用戶訪問這個(gè)報(bào)表的時(shí)候,有2種情況,新建一個(gè)報(bào)表進(jìn)行填寫或者修改這個(gè)報(bào)表的數(shù)據(jù),對(duì)于這種情況,我們需要提供一個(gè)針對(duì)HttpGET請求的訪問控制器,主要代碼如下:

[HttpGet]

public PartialViewResult P1(string id)

{

P1 eo=new P1() { sUnitCode=id };

var dal=new P1DAL();

eo=dal.GetEntity(id) as P1;

return PartialView(eo);

}

同時(shí)我們需要提供一個(gè)處理HttpPost的訪問控制器以處理用戶新建或者修改報(bào)表后的回發(fā),主要代碼如下:

[HttpPost]

public ActionResult P1(P1 model)

{

var bll=new P1Bll();

bll.UpdateAdd(model);

return RedirectToAction("P1",new{id=model.sUnitCode });

}

這個(gè)控制器僅用一行代碼就完成了數(shù)據(jù)庫操作,實(shí)現(xiàn)這個(gè)神奇過程的關(guān)鍵正是ASP.NETMVC的模型綁定技術(shù)。

3 結(jié)語

通過上面的示例,我們實(shí)現(xiàn)了一個(gè)簡單報(bào)表填報(bào)頁面的搭建,整個(gè)過程需要書寫的關(guān)鍵代碼大概有10來行,在報(bào)表的字段非常多的時(shí)候,使用本方案可以大幅的減少開發(fā)時(shí)間,提高效率。

參考文獻(xiàn)

[1] 李金方.Web報(bào)表系統(tǒng)的研究與實(shí)現(xiàn)[D].北京交通大學(xué),2009.

[2] 宋建松.基于ole技術(shù)調(diào)用EXCEL實(shí)現(xiàn)復(fù)雜報(bào)表生成[J].內(nèi)蒙古電大學(xué)刊,2006(10).

[3] 盧俊瑋,常琳,陳昀錕.MVC模式與ASP.NET MVC框架的技術(shù)研究[J].電腦知識(shí)與技術(shù),2010,6(19).

主站蜘蛛池模板: 国产丝袜啪啪| 亚洲日本中文字幕天堂网| 国产福利小视频在线播放观看| 成年人福利视频| 久久九九热视频| 午夜国产不卡在线观看视频| 亚洲免费播放| 国产成人毛片| 中文字幕人成人乱码亚洲电影| 免费观看国产小粉嫩喷水| 2021国产精品自产拍在线观看| 国产精品真实对白精彩久久| 国产亚洲精品无码专| 国产99在线| 人妻丰满熟妇啪啪| 亚洲国模精品一区| 国内精自线i品一区202| 看av免费毛片手机播放| 久久久久九九精品影院| 呦女精品网站| 久久精品国产国语对白| 狠狠做深爱婷婷综合一区| 亚洲最大情网站在线观看| 亚洲第一黄片大全| 亚洲va视频| 亚洲综合二区| 在线欧美日韩国产| 8090午夜无码专区| 日本久久网站| 国产国产人成免费视频77777| 最新日本中文字幕| 亚洲男人的天堂久久香蕉网| 国产高清色视频免费看的网址| 国产在线精品美女观看| 一级爆乳无码av| 欧美日韩成人| 亚洲午夜片| 久久动漫精品| 欧美yw精品日本国产精品| 视频一区亚洲| 在线视频97| 成人年鲁鲁在线观看视频| 午夜精品一区二区蜜桃| 国产丝袜第一页| 国产成人91精品| 69视频国产| 真实国产乱子伦高清| 老司机午夜精品视频你懂的| 国产丝袜无码精品| 玖玖精品在线| 欧美国产日产一区二区| 国产美女一级毛片| 国产一级毛片在线| 久久香蕉国产线看观| 国产亚洲视频中文字幕视频| 国产美女在线观看| 午夜欧美理论2019理论| 美女毛片在线| 日本亚洲欧美在线| 二级特黄绝大片免费视频大片| 久久国产精品麻豆系列| a网站在线观看| 国产精品视频3p| 亚洲综合网在线观看| 九九精品在线观看| 找国产毛片看| 欧美成人午夜视频| 找国产毛片看| 亚洲人成网站观看在线观看| 综合久久五月天| 国产精品丝袜在线| 欧美另类视频一区二区三区| 国产原创自拍不卡第一页| 日韩高清中文字幕| hezyo加勒比一区二区三区| 91麻豆国产在线| 色网站在线免费观看| 在线人成精品免费视频| 国产本道久久一区二区三区| 亚洲最大情网站在线观看| 东京热一区二区三区无码视频| 波多野结衣第一页|