通常我們開發web頁面時,考慮樣式和功能兩個因素,開發sharepoint頁面我們要
多考慮一點是否可使用webpart,簡單來說就是
1 樣式----使用sharepoint站點的master頁面來保持風格一致
2 功能----就是dll
3 web部件頁---- 在頁面中添加web部件區域
開發的步驟如下:
1創建一個asp.net項目,引用miscrosoft.sharepoint
2創建一個web content form(就是使用master page的頁面)
3將這個頁面從繼承System.Web.UI.Page改成Microsoft.SharePoint.WebPartPages.WebPartPage
4修改aspx代碼
a. 加入 MasterPageFile="~/masterurl/default.master" 這句是表明使用sharepoint的
master page(可以在工程中作個假的,讓編譯通過), sharepoint默認master位置是
C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/GLOBAL/default.master
b. 加入一個在master page中存在的<asp:content ...> 標籤
c.如果希望可以在頁面中使用webpart那就加入
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
這句表示可以使用webpartpages標籤, 然後再需要的位置加入<WebPartPages:WebPartZone runat="server" ID="Left" Title="" />
我在測試的時候發現,不要1和3步驟也可以
完整代碼
aspx頁面
<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" AutoEventWireup="true" CodeBehind="CustomPage2.aspx.cs" Inherits="WebApplication2.CustomPage2" Title="Untitled Page" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
<h3>CustomPage2</h3>
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td valign="top">
<WebPartPages:WebPartZone runat="server" ID="Left" Title="left" />
</td>
<td valign="top">
<WebPartPages:WebPartZone runat="server" ID="Right" Title="right" />
</td>
</tr>
</table>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</asp:Content>
服務端代碼
public partial class CustomPage2 : Microsoft.SharePoint.WebPartPages.WebPartPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Hello World!";
}
}
通過feature部署後,運行結果
編輯模式下能看到webpart區域