我正在尝试使用Visual Studio 2010中内置的Web部件项目将某些Sharepoint 2007 Web部件升级到SP2010。即,我正在使用Visual Web部件来迁移我们现有的控件,这些控件广泛使用了ObjectDataSource。但是,在Visual Web Part项目中向控件添加ODS时,它不会在引用的类库项目中拾取对象。我能够从干净的设置中复制问题,如下所示:
创建新的Visual Web部件
在解决方案中添加新的类库。
班级代码如下:
使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text;
namespace WebPartODS
{
[System.ComponentModel.DataObject(true)]
public class TestUser
{
[System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select,false)]
public List<int> TestMethod()
{
return new List<int>();
}
}
}
在Web部件项目中添加类库项目作为参考
在VisualWebPart ascx文件中,在“源”视图中添加objectdatasource:
<asp:ObjectDataSource ID="TestOD" runat="server"></asp:ObjectDataSour
CE&GT;
我在这里缺少一个步骤,或者尝试这样做是否存在问题?
答案 0 :(得分:2)
好的,我得到了它的工作。这是我得到答案的地方:MSDN Forumn
我最初为我的业务层设置了一个单独的类。我删除了它并将我的代码放在ascx.cs
文件中。然后我将以下代码行添加到我的页面加载方法中。
ObjectDataSource1.TypeName = this.GetType().AssemblyQualifiedName;
我还从ascx页面删除了TypeName
。