淺析ASP.NET MVC工程
ASP.NET MVC工程
1、如何拆分項(xiàng)目而不用老是要合代碼,如 PetShop MVC 默認(rèn)情況下視乎就是一個(gè)人的項(xiàng)目如果項(xiàng)目人比較多合代碼比較累。
有沒(méi)有那種可以自己做自己的不用合代碼的方法?我這邊一人一個(gè)子系統(tǒng)互相沒(méi)啥關(guān)系我還一堆事情想讓他們自己做完了、去客戶那里給直接裝的就得了
不過(guò)現(xiàn)在的項(xiàng)目老需要合代碼我還得費(fèi)心有時(shí)候還少文件啥到底能給分開(kāi)不???
答:呵呵當(dāng)然是有的了不過(guò)官方?jīng)]有給出,不過(guò)以我以前是這么做的(2003的時(shí)候);
把需要編譯的工程拆分成若干 proj 基本可以解決這一問(wèn)題如果是 MVC 可以這樣
◆Demo.Controllers.U00 —— 公共的
◆Demo.Controllers.U01 —— 開(kāi)發(fā)者一使用
◆Demo.Controllers.U02 —— 開(kāi)發(fā)者二使用
如果是 PetShop 可以 BLL.U01 BLL.U02、Model.U01 Model.U02 這樣
WebSite 本身就不需要拆分的實(shí)時(shí)編譯,自己把自己的頁(yè)面復(fù)制到網(wǎng)站,在把如上劃分的dll復(fù)制過(guò)去即可
如果是 WebApplication 方式其實(shí)也可以拆分為 WebApplication1 WebApplication2 WebApplication3 只要編譯完的dll在bin 下
而且都復(fù)制到一個(gè)虛擬目錄就可以了、因?yàn)?WebApplication 本身也是個(gè)類庫(kù)工程,ASP.NET 會(huì)在bin 目錄下的所有dll 中尋找和aspx匹配的類的
不過(guò)如上這么分,可能名稱空間砢磣點(diǎn)工程文件多了點(diǎn)不過(guò)我認(rèn)為這個(gè)你應(yīng)該能忍;
2、能否把 ASP.NET MVC WebApplication 轉(zhuǎn)換為 WebSite 方式?這個(gè)問(wèn)題其實(shí)和上面那個(gè)有關(guān)聯(lián)的 WebSite 不用編譯好分活頁(yè)不用添加文件啥的代碼放進(jìn)去就好用了!
答:目前官方?jīng)]有提供 mvc website 方式模板不過(guò)只要將 WebApplication 的 web.config 中的差異部分添加到 website 的web.config 基本就可以了、ms 可能是偷懶 Dynamic Data 都是提供 site 模板的,它和 mvc 的url重寫用的其實(shí)是一個(gè)東西,WebSite 和 WebApplication都是有各自優(yōu)點(diǎn)的不同項(xiàng)目可以采用不同方式;
3、在ASP.NET MVC工程中是否可以使用 GridView 控件等原來(lái)那些控件,我們公司的技術(shù)人員告訴我不行?
答:什么技術(shù)啊這是?怎么可能用不了啊人家是告訴你不建議用吧?不都是asp.net網(wǎng)站嗎?MVC固然有很多優(yōu)點(diǎn),不過(guò)有些時(shí)候用控件還是可以節(jié)約很長(zhǎng)時(shí)間的,因?yàn)楝F(xiàn)在很多項(xiàng)目view層黨務(wù)的時(shí)間應(yīng)該最多底層反而沒(méi)多少代碼這種這種情況下可以采用混合模式進(jìn)行,如果嫌棄 ViewState 大禁用的不就得了,一個(gè)sql 一個(gè) grid搞定的頁(yè)面用mvc也浪費(fèi)了點(diǎn)
4、在ASP.NET MVC工程中是否可以結(jié)合 MVP 模式或 PetShop 那種多層方式?
答:這個(gè)當(dāng)然可以了甚至可以再 MVC 混合 MVP 使用具體見(jiàn) Demo、多層的話其實(shí)和 MVC 沒(méi)啥關(guān)系在 Controller 里愛(ài)怎么調(diào)用都行;那種界面和后臺(tái)是2個(gè)人做的情況下 mvp 的確有些優(yōu)勢(shì),demo 中有不過(guò)不是個(gè)全 mvp 方式而是和 mvc 混合的方式;mvp方式我以前的blogs 里有呵呵你有那么多時(shí)間玩mvp 嗎?局部玩玩得了,活那么急還玩這么多東西?不怕玩死?。。?!
5、在ASP.NET MVC工程中的 Controller 實(shí)在 Web目錄下的可以移動(dòng)走嗎?
答:這個(gè)當(dāng)然可以隨便建立一個(gè)類庫(kù)項(xiàng)目把該引用的引用了然后在類庫(kù)下建立一個(gè) XXXXController 就可以了,mvc框架會(huì)找整個(gè)Bin 目錄下的所有 dll 里的Controller 在要在dll 在bin下就可以了、而且 Controller 可以存在于多個(gè)類庫(kù)中名稱別重復(fù)了就可以(果然和我預(yù)想的一樣),至于model 這東西想這么挪都可以的其實(shí) views也能挪參考問(wèn)題一,下次這種問(wèn)題自己試驗(yàn)一下不行啊,我就建立一個(gè)工程把默認(rèn)的 Controller 托進(jìn)去就好用了;
文章記事本寫的格式就這樣了估計(jì)還可以看太晚了……
今天沒(méi)時(shí)間了;有時(shí)間在給大家一一解釋吧今天不貼圖就一個(gè)附件吧!
【編輯推薦】