向SharePoint页面添加后台代码
聲明:本文轉載
?
在本文中,我將跟大家一起討論,為MOSS的頁面添加服務器端代碼的另一種方式。不過首先要聲明,這種方式僅作為技術研究,如要使用,請慎重!
在上一篇文章中,我們討論過如何為MOSS頁面添加服務端后臺代碼,詳見(MOSS 2007開發日記(2) - 為sharepoint頁面添加后臺代碼,http://bbs.winos.cn/thread-36766-1-1.html),這種方式是通過將代碼生成為一個DLL,然后與對應的頁面進行綁定,類似于ASP.NET中的Code-Behind,而我們知道,在用ASP.NET進行開發的時候,可以通過在頁面上添加<script runat=”server”></script>直接使用服務器端代碼,那在MOSS頁面中可不可以呢?既然是基于ASP.NET 2.0,那就沒什么問題。偶然在一老外的博客上看到了一篇介紹如何在MOSS頁面上使用<script runat=”server”></script>代碼塊,詳見:SharePoint 2007: using ASP.NET server side code in your pages,那我們就可以發揮一下,比如寫一個page_load,給button托管一個Click事件等等,下面就來詳細介紹。
? ? 我們知道,直接在MOSS頁面上添加<script runat=”server”></script>代碼塊,會提示我們”處理XXXX時出現錯誤。此文件中不允許使用代碼塊”。怎么辦呢?我們來修改一下web.config,在<PageParserPaths></PageParserPaths>中添加一行(默認這個節點中沒有內容):
<PageParserPath VirtualPath="/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>
請將VirtualPath對應的路徑改為你自己相應的頁面路徑,如上面這種寫法,我是在/_catalogs/masterpage/下的母版頁中進行測試。保存并重啟ISS后,我們就可以在頁面中添加<script runat=”server”></script>代碼塊了。
? ? 擴展一下。比如我們想使用頁面的Page_Load事件,可以這樣來寫(我用C#作示例):先添加<script type="text/c#" runat="server"></script>代碼塊,再在代碼塊中添加
? ?protected void Page_Load(object sender, EventArgs e)
? ?{
? ?}
這樣我們就可以在頁面Load的時候做一些想做的事情。比如給頁面上一服務器端Button控件托管單擊事件,隨便向頁面中添加一個Button按鈕,如下:
<asp:Button ID="button1" runat="server" Text="click me"></asp:Button>
在上面我們添加的Page_Load中這樣寫:
protected void Page_Load(object sender, EventArgs e)
{
? ?? ? this.button1.Click += new EventHandler(b1_Click);
}
然后再添加事件處理代碼b1_Click,我們讓它在點擊的時候取得當前服務器時間賦給Button的Text,如下:
? ?void b1_Click(object sender, EventArgs e)
? ?{
? ???this.button1.Text=DateTime.Now.ToString();
? ?}
返回頁面,單擊按鈕,你就可以看到效果了。這只是做一個示例,其它的就看大家自由發揮了。
關于這方面的資料比較上,老外的博客上只列出了兩篇,感興趣的朋友可以看一下:? ?
http://msdn2.microsoft.com/en-us/library/ms562040.aspx
http://msdn2.microsoft.com/en-us/library/ms551625.aspx.
? ? 再次提醒大家一下,使用這種方式添加服務器端代碼極不安全,任何擁有編輯頁面權利的人都可以通過這種方式在頁面中使用服務器端代碼,請慎重使用。
你可以用你的母版頁來測試~
或者可以直接用designer打開站點在根路徑下添加一個aspx頁面,這樣VirtualPath就可以這樣寫:/*
?
轉載于:https://www.cnblogs.com/chenzehe/archive/2009/12/25/1631863.html
總結
以上是生活随笔為你收集整理的向SharePoint页面添加后台代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XP与Ubuntu双系统的问题
- 下一篇: 在计算机中查找notepad,notep