Visual Web Part是否支持设计器中的ObjectDataSource?

时间:2010-07-15 18:01:11

标签: visual-studio-2010 sharepoint-2010 objectdatasource

我正在尝试使用Visual Studio 2010中内置的Web部件项目将某些Sharepoint 2007 Web部件升级到SP2010。即,我正在使用Visual Web部件来迁移我们现有的控件,这些控件广泛使用了ObjectDataSource。但是,在Visual Web Part项目中向控件添加ODS时,它不会在引用的类库项目中拾取对象。我能够从干净的设置中复制问题,如下所示:

  1. 创建新的Visual Web部件

  2. 在解决方案中添加新的类库。

  3. 班级代码如下:

  4. 使用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>();
        }
      }
    }
    
    1. 在Web部件项目中添加类库项目作为参考

    2. 在VisualWebPart ascx文件中,在“源”视图中添加objectdatasource:

    3. <asp:ObjectDataSource ID="TestOD" runat="server"></asp:ObjectDataSour CE&GT;

      1. 切换到“设计”视图,打开“配置数据源”向导。在下拉列表中,库项目中的类将不会出现。
      2. 我在这里缺少一个步骤,或者尝试这样做是否存在问题?

1 个答案:

答案 0 :(得分:2)

好的,我得到了它的工作。这是我得到答案的地方:MSDN Forumn

我最初为我的业务层设置了一个单独的类。我删除了它并将我的代码放在ascx.cs文件中。然后我将以下代码行添加到我的页面加载方法中。

ObjectDataSource1.TypeName = this.GetType().AssemblyQualifiedName;

我还从ascx页面删除了TypeName