免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
汪炳吉_修改和新建DNN的模塊及一些DNN代碼和開(kāi)發(fā)過(guò)程


 

最近在做一個(gè)項(xiàng)目要用DotNetNuke 3.x來(lái)做,要在Html/Text這個(gè)Module(模塊)的基礎(chǔ)上做一個(gè)新的模塊,當(dāng)然要加上許多額外的控制功能。

研究了一下DNN的文檔,感覺(jué)DNN比較復(fù)雜(相對(duì)DRUPAL和MAMBO而言)。分了好幾層,如下:

*.ascx|*.ascx.VB 或 C#|Controller(控制者)|ObjectInfo(商業(yè)對(duì)象)|DataProvider(抽象數(shù)據(jù)提供者)|SQLDataProvider(實(shí)際數(shù)據(jù)提供者)|StoredProc(存儲(chǔ)過(guò)程)|DB Table(數(shù)據(jù)庫(kù)表)注:此圖只是表達(dá)一個(gè)大致的意思,并不精確完整。

我現(xiàn)在終于基本搞明白了,也會(huì)做了。如果你有類(lèi)似需要可找我?guī)兔Γ铱蔀槟闾峁┯袃敺?wù),制作DNN的自定義模塊等高級(jí)應(yīng)用和開(kāi)發(fā)。

當(dāng)然若只是要用DNN來(lái)架個(gè)網(wǎng)站,那就更不在話(huà)下了,因?yàn)檫@只是低級(jí)應(yīng)用。



Settings.ascx.vb
節(jié)選一段用于模塊開(kāi)發(fā)中用來(lái)判斷當(dāng)前用戶(hù)是不是Portal Admin的VB.NET代碼(DNN 3.x):

 

Private Function IsPortalAdmin() As BooleanDim tmpStr As StringDim objRoleController As RoleController = New RoleControllerDim roleAry As String() = objRoleController.GetPortalRolesByUser(Me.UserId, Me.PortalId)If Not roleAry Is Nothing ThenFor Each aRoleStr As String In roleAryIf aRoleStr = "Administrators" ThenReturn TrueEnd IfNextEnd IfReturn FalseEnd Function

我不知道這樣寫(xiě)是不是最佳辦法,但經(jīng)試驗(yàn)它確實(shí)能工作。也歡迎您發(fā)表更好的實(shí)現(xiàn)此功能的代碼。



YourModule.ascx.vb
節(jié)選一段用于一個(gè)模塊中,用來(lái)獲取與該模塊在同一頁(yè)面上的其他模塊中的信息的VB.NET代碼(基于DNN 3.X):

 

我不知道這樣寫(xiě)是不是最佳辦法,但經(jīng)試驗(yàn)它確實(shí)能工作。也歡迎您發(fā)表更好的實(shí)現(xiàn)此功能的代碼。



我基于DNN的Text/HTML模塊,做了一個(gè)客戶(hù)化的HTML模塊,用來(lái)給客戶(hù)發(fā)表文章,因要結(jié)合客戶(hù)原有的一套文章管理系統(tǒng),及有一些特殊的控制,如對(duì)文章的驗(yàn)證,誰(shuí)驗(yàn)證的等.

 

又基于Links模塊做了一個(gè)特殊的Links模塊,它可以自己自動(dòng)產(chǎn)生一些鏈接.



后來(lái)又做了這兩個(gè)模塊(Module)的安裝包,就是內(nèi)放了一個(gè)后綴為 .dnn 的XML的Manifest文件及其他模塊要用到的文件的 .zip 文件包,這樣,就可以通過(guò)dnn網(wǎng)站的web界面直接自動(dòng)安裝我做的模塊了。若不制作安裝包的話(huà),就得把 .dll, .ascx 文件等一個(gè)個(gè)COPY到WEB服務(wù)器上去,手工安裝。


2006-07-14:
又開(kāi)始做另一個(gè)DOTNETNUKE的客戶(hù)項(xiàng)目了,今天做了一個(gè)登錄的功能,即一個(gè)登錄的界面,未登錄時(shí)顯示登錄框,登錄后顯示用戶(hù)的名字及登出鏈接.這個(gè)不是用模塊做的,只是一個(gè) .ascx (用戶(hù)控件),然后嵌到SKIN皮膚中去就行了,這樣在所有頁(yè)面就都會(huì)有這個(gè)登錄功能了.實(shí)現(xiàn)方式是:整合和利用了DNN現(xiàn)有的一些登錄方面的代碼.


2006-07-19:
客戶(hù)又要在客戶(hù)化的TEXT/HTML MODULE上增加手工插入分頁(yè)符的功能,如插入<--break-->這樣,把一個(gè)模塊上的內(nèi)容分到多頁(yè)顯示,而且還要顯示一組分頁(yè)的導(dǎo)航控制鏈接,如:Previous Page 1 2 3 4 5 6 Next Page。

 

因?yàn)檫@個(gè)項(xiàng)目是用ASP.NET 1.1開(kāi)發(fā)的,ASP.NET 1.1沒(méi)有PAGE CONTROL可用,除了DATAGRID中自帶一個(gè),但這個(gè)HTML模塊無(wú)法用DATAGRID。

到網(wǎng)上找了一下,有分頁(yè)的HTML MODULE,但要花錢(qián)買(mǎi)的($19美元),沒(méi)辦法,只能自己寫(xiě)一個(gè)吧。

雖然在前面合并Search Results時(shí)也自己做過(guò)PAGE CONTROL,但那個(gè)比較簡(jiǎn)單,且大量借用了DATAGRID的PAGE CONTROL功能,所以必須自己實(shí)現(xiàn)或找第三方的。

我到網(wǎng)上找到一個(gè)Pager Control for ASP.NET 1.1在http://www.codeproject.com/aspnet/ASPNETPagerControl.asp
,但這個(gè)CutePager的一些特性和功能和樣子不符合客戶(hù)的要求,我又對(duì)它進(jìn)行了一些修改.
客戶(hù)要的是這樣的:

而CutePager是這樣的:

且客戶(hù)不要HINT;當(dāng)中還要有豎線(xiàn);用的CSS的CLASS的名字也不一樣;前面的Page x of xx也不要;首頁(yè)及末頁(yè)時(shí)仍要顯示“前頁(yè)”和“下一頁(yè)”,但鏈接不起作用。

所以有很多不同,我就一一修改,最后完成了。

發(fā)現(xiàn)一個(gè)BUG,當(dāng)同一頁(yè)面上有兩個(gè)用到CutePager的模塊時(shí),它們的頁(yè)面控制會(huì)互相影響,若另一模塊的某一頁(yè)不存在時(shí),還會(huì)出錯(cuò). 于是立即修改.

也給這個(gè)模塊做了一個(gè)安裝zip包.

我最終完成的Pager類(lèi)的代碼如下:

我最終完成的HtmlModule.ascx.vb中的Page_Load的代碼片斷如下:

客戶(hù)又要模塊內(nèi)容和設(shè)置可以導(dǎo)入和導(dǎo)出(Import Content, Export Content),于是又做了導(dǎo)入和導(dǎo)出功能,使客戶(hù)的額外字段也能導(dǎo)入和導(dǎo)出.



DotNetNuke中的模塊的Page_Load時(shí),如何知道當(dāng)前的Page Load是不是Print mode?
找到答案了:If you want to handle a print action differently, look for the dnnprintmode querystring variable with a value of true and handle it accordingly.


口說(shuō)無(wú)憑,且不直觀(guān),故等這個(gè)網(wǎng)站上線(xiàn)后,我會(huì)給大家兩個(gè)網(wǎng)址鏈接,以讓大家可以親身感受我以上的所做開(kāi)發(fā)。

 


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
DNN模塊開(kāi)發(fā)系列文章(2)——建立模塊開(kāi)發(fā)項(xiàng)目
幾個(gè).Net開(kāi)源的CMS、Portal系統(tǒng) - Jyfish‘Blog - 博客園
搭建基于ASP.NET 2.0的DNN 4.X模塊開(kāi)發(fā)環(huán)境及模塊實(shí)例
DNN系統(tǒng)構(gòu)架圖 - m2land-專(zhuān)注DNN(DotNetNuke) - 博客園
我的未來(lái)學(xué)習(xí)方向
ASP.NET中創(chuàng)建用戶(hù)控件
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服