這篇文章給大家介紹怎么進(jìn)行ASP.NET應(yīng)用程序的嵌入,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),長垣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:長垣等地區(qū)。長垣做網(wǎng)站價(jià)格咨詢:13518219792
為什么要將ASP.NET應(yīng)用程序嵌入到SharePoint?這個(gè)我們不討論!我們將要討論的是如何將ASP.NET應(yīng)用程序嵌入到SharePoint,以及其中可能會(huì)遇到的問題。
正文開始:
我們這里是建立了一個(gè)Web應(yīng)用程序里面有一個(gè)Demo.aspx頁,代碼如下:
namespace WebInMOSS { public partial class _Demo: System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("Web Can In Moss"); } } }
將此程序編譯,生成一個(gè)WebInMOSS.dll文件,將此dll拷貝到網(wǎng)站目錄下bin文件夾,增加節(jié)點(diǎn):
<SafeControl Assembly="WebInMOSS, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null" Namespace="WebInMOSS" TypeName="*" Safe="True" />
然后將Demo.aspx頁面放入MOSS中。放入方式你可以選擇使用SPD,或者直接上傳文檔庫。我們這里放入"Pages"中。在MOSS中瀏覽pages/Demo.aspx,是否刪除autoeventwireup就可以了呢?的確,在刪除AutoEventWireup="true"后頁面顯示W(wǎng)eb Can In Moss,證明執(zhí)行成功。增加web應(yīng)用程序復(fù)雜度,在Demo.aspx放入一個(gè)button ,其事件如下:
protected void Button3_Click(object sender, EventArgs e) { SPSite siteCollection = new SPSite("http://xuwei:8080"); SPWeb site = siteCollection.OpenWeb("/Docs/"); SPList list = site.Lists["通知"]; SPListItemCollection items = list.Items; foreach (SPListItem item in items) { Response.Write("<br/>"); Response.Write(item["Title"].ToString()); } }
在VS2005中調(diào)試得出結(jié)果(各位看客請(qǐng)先忽略write session和read session 2個(gè)button):
將重新編譯后的程序dll,Demo.aspx按前面方式放入MOSS中。重新瀏覽,此時(shí)又出現(xiàn)Onclick事件不能使用,如何是好?我們必須啟動(dòng)MOSS的安全模式才能執(zhí)行服務(wù)器端事件。操作如下:
我們找到Web.config 文件的<SharePoint>節(jié)點(diǎn),在 <PageParserPaths> </PageParserPaths>
節(jié)點(diǎn)下增加一個(gè)虛擬路徑 <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />
聲明此站點(diǎn)下所有文件允許服務(wù)器端事件,當(dāng)然你也可以制定虛擬目錄是那個(gè)文件夾,但是這個(gè)值 必須以 ~/ 或 / 開頭,并且必須以文件名或 * 結(jié)尾。
保存Demo.aspx后瀏覽頁面,能夠正常顯示,點(diǎn)擊listobject button(各位看客請(qǐng)先忽略write session和read session 2個(gè)button),OK,正常執(zhí)行顯示了!
再次增加web應(yīng)用程序復(fù)雜度,加入Session,(在MOSS開發(fā)中不管采取那種方式,只要是和自己的程序相集成,總會(huì)碰到Session的問題)。
代碼如下:
protected void Button1_Click(object sender, EventArgs e) { Session["Count"] = "1"; } protected void Button2_Click(object sender, EventArgs e) { if (Session["Count"] != null) { Response.Write("<br><font color=red>"+Session["Count"].ToString()+"</font>"); } }
編譯保存后再次瀏覽頁面,點(diǎn)擊listobject button能夠正常顯示結(jié)果,可是當(dāng)點(diǎn)擊 Write Session時(shí),出現(xiàn)這個(gè)提示出現(xiàn)得夠霸氣!天曉得是什么意外錯(cuò)誤!我試圖修改<customErrors mode="Off" />讓MOSS顯示出錯(cuò)誤信息,但是失敗。查找Log文件也沒有發(fā)現(xiàn)什么蹤跡,還好 一開始就預(yù)計(jì)到Session可能會(huì)出現(xiàn)問題,檢查Web.config發(fā)現(xiàn)
<pages enableSessionState="false" enableViewState="true" enableViewStateMac=
"true" validateRequest="false" pageParserFilterType="Microsoft.SharePoint.
ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=12.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">
呵呵,Session默認(rèn)處于關(guān)閉狀態(tài),當(dāng)然無法正常執(zhí)行。將其設(shè)置為 true后保存。瀏覽demo.aspx頁面,點(diǎn)擊write session 和read Session,能夠正常執(zhí)行。以上介紹ASP.NET應(yīng)用程序的嵌入。
關(guān)于怎么進(jìn)行ASP.NET應(yīng)用程序的嵌入就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
標(biāo)題名稱:怎么進(jìn)行ASP.NET應(yīng)用程序的嵌入
網(wǎng)站鏈接:http://sd-ha.com/article48/pepgep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)