Визуальная веб-часть поддерживает ObjectDataSource в конструкторе? - PullRequest
2 голосов
/ 15 июля 2010

Я пытаюсь обновить некоторые веб-части Sharepoint 2007 до SP2010, используя проекты веб-частей, встроенные в Visual Studio 2010. А именно, я использую Visual Web Part для переноса наших существующих элементов управления, которые широко используют ObjectDataSource.Однако при добавлении ODS в элемент управления в проекте Visual Web Part он не будет подбирать объекты в ссылочных проектах библиотеки классов.Мне удалось продублировать проблему из чистой настройки следующим образом:

  1. Создать новую визуальную веб-часть

  2. Добавить новую библиотеку классов врешение.

  3. Код класса выглядит следующим образом:

с использованием System;using 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>();
    }
  }
}

Добавить проект библиотеки классов в качестве ссылки в проекте веб-части

В файле VisualWebPart ascx добавить источник данных объекта в представлении «Источник»:

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

Переключитесь в режим конструктора, откройте мастер «Настройка источника данных».В раскрывающемся списке класс из проекта библиотеки не появится.

Есть ли шаг, который мне здесь не хватает, или есть проблема с попыткой сделать это таким образом?

1 Ответ

2 голосов
/ 27 августа 2011

Хорошо, я получил его на работу.Вот где я получил свой ответ: MSDN Forumn

У меня изначально был отдельный класс для моего бизнес-уровня.Я удалил его и поместил свой код в файл ascx.cs.Затем я добавил следующую строку кода в метод загрузки моей страницы.

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

Я также удалил TypeName со страницы ascx.

...