我正在玩Sharepoint 2007.我有一个虚拟机(win server 2k3),上面运行了一个sharepoint server 2007实例。我现在正致力于创建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
当我尝试将WebPart添加到页面时,出现此错误:
“SimpleDBWebPart”Web部件似乎导致了问题。无法加载文件或程序集'System.Data.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。系统找不到指定的文件。
我使用Reflector来确保我在DLL中有程序集:
情况似乎如此。我是否必须将程序集添加到sharepoint站点的web.config文件中?或者还有其他我想念的东西?
谢谢你们!
答案 0 :(得分:3)