我在玩SharePoint2007。我有一台虚拟机(Win服务器2K3),上面运行着一个SharePointServer2007实例。我现在正在创建Web部件。我已经成功地创建了简单的,例如这个显示文本的:
public class SimpleWebPart : WebPart
{
private string _displayText = "Hello World!";
[WebBrowsable(true), Personalizable(true)]
public string DisplayText
{
get { return _displayText; }
set { _displayText = value; }
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
writer.Write(_displayText);
}
}
我把这个(和一些测试的)放在一个类库中,然后放到
_app_bin
文件夹位于
C:\Inetpub\wwwroot\wss\VirtualDirectories\80
.
我添加的最新一个使用LINQ从我添加的表(不是SharePoint的一部分)中获取数据:
public class SimpleDBWebPart : WebPart
{
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
var oDB = new SPWebPartDataClassesDataContext();
var oRes = oDB.GetAllFirstTable();
foreach(var item in oRes)
{
writer.Write("<div>Item Name: {0}</div>",item.text);
writer.Write("<div>Item ID: {0}</div>", item.id);
}
}
}
这个
GetAllFirstTable()
是一个从测试表中获取所有数据的存储过程:
ALTER PROCEDURE dbo.GetAllFirstTable
AS
SELECT * FROM FirstTable
RETURN
当我尝试将Web部件添加到页面时,会出现以下错误:
“SimpleDBWebPart”Web部件似乎导致了问题。无法加载文件或程序集“system.data.linq,version=3.5.0.0,culture=neutral,publickeytoken=b7a5c561934e089”或其依赖项之一。系统找不到指定的文件。
我使用Reflector来确保在dll中包含程序集:
似乎是这样。是否必须将程序集添加到SharePoint网站的web.config文件中?或者我还缺什么?
谢谢大家!