2010-07-15 77 views
2

我試圖使用內置於Visual Studio 2010中的Web部件項目將一些Sharepoint 2007 webparts升級到SP2010。即,我使用Visual Web Part來遷移我們現有的控件,這些控件廣泛使用ObjectDataSource。但是,向Visual Web Part項目中的控件添加ODS時,它不會在引用的類庫項目中拾取對象。我能夠從一個乾淨的設置重複的問題如下:可視化Web部件是否支持設計器中的ObjectDataSource?

  1. 創建一個新的Visual Web部件

  2. 添加一個新的類庫來解決。

  3. 類代碼如下:

使用系統; using System.Collections.Generic;使用System.Linq的 ; using 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文件的引用,在Source視圖添加的ObjectDataSource:

  • <asp:ObjectDataSource ID="TestOD" runat="server"></asp:ObjectDataSour CE>

  • 轉爲設計視圖,調出「配置數據源」嚮導。在下拉列表中,庫項目中的類不會出現。
  • 有沒有我在這裏失蹤的一個步驟,或者是否有嘗試這樣做的問題?

    回答

    2

    好的,我得到它的工作。這裏是我得到我的答案:MSDN Forumn

    我最初有一個單獨的類爲我的業務層。我刪除它並將我的代碼放在ascx.cs文件中。然後我將下面的代碼行添加到我的頁面加載方法中。

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

    我還從ascx頁面中刪除了TypeName

    相關問題