溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行ASP.NET應用程序的嵌入

發布時間:2021-10-28 10:52:07 來源:億速云 閱讀:156 作者:柒染 欄目:編程語言

這篇文章給大家介紹怎么進行ASP.NET應用程序的嵌入,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

為什么要將ASP.NET應用程序嵌入到SharePoint?這個我們不討論!我們將要討論的是如何將ASP.NET應用程序嵌入到SharePoint,以及其中可能會遇到的問題。

正文開始:

我們這里是建立了一個Web應用程序里面有一個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");  }  }  }

將此程序編譯,生成一個WebInMOSS.dll文件,將此dll拷貝到網站目錄下bin文件夾,增加節點:

  1. <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"后頁面顯示Web Can In Moss,證明執行成功。增加web應用程序復雜度,在Demo.aspx放入一個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中調試得出結果(各位看客請先忽略write session和read session 2個button):

將重新編譯后的程序dll,Demo.aspx按前面方式放入MOSS中。重新瀏覽,此時又出現Onclick事件不能使用,如何是好?我們必須啟動MOSS的安全模式才能執行服務器端事件。操作如下:

我們找到Web.config 文件的<SharePoint>節點,在 <PageParserPaths> </PageParserPaths>

節點下增加一個虛擬路徑 <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />

聲明此站點下所有文件允許服務器端事件,當然你也可以制定虛擬目錄是那個文件夾,但是這個值 必須以 ~/ 或 / 開頭,并且必須以文件名或 * 結尾。

保存Demo.aspx后瀏覽頁面,能夠正常顯示,點擊listobject button(各位看客請先忽略write session和read session 2個button),OK,正常執行顯示了!

再次增加web應用程序復雜度,加入Session,(在MOSS開發中不管采取那種方式,只要是和自己的程序相集成,總會碰到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>");  }  }

編譯保存后再次瀏覽頁面,點擊listobject button能夠正常顯示結果,可是當點擊 Write Session時,出現這個提示出現得夠霸氣!天曉得是什么意外錯誤!我試圖修改<customErrors mode="Off" />讓MOSS顯示出錯誤信息,但是失敗。查找Log文件也沒有發現什么蹤跡,還好 一開始就預計到Session可能會出現問題,檢查Web.config發現

  1. <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默認處于關閉狀態,當然無法正常執行。將其設置為 true后保存。瀏覽demo.aspx頁面,點擊write session 和read Session,能夠正常執行。以上介紹ASP.NET應用程序的嵌入。

關于怎么進行ASP.NET應用程序的嵌入就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女