Sharepoint 2007 веб-часть проблемы с переменными при перезагрузке - PullRequest
0 голосов
/ 04 июля 2011

У меня проблемы с переменными webparts ... Я пришел из стандартного языка ASP, поэтому для меня хранение переменных в сеансе и других частях - это обычный способ сделать все =)

Теперь я должен был создать веб-часть, wp должен написать график из параметра, и я не могу понять, КАК переменные работают: я не могу понять, КОГДА сохранены и КОГДА удалены, и другие подобные вещи!

Позвольте мне объяснить: у меня есть веб-часть с панелью инструментов настройки справа, в которую я помещаю значения. Каждый раз, когда нажимается кнопка или изменяется значение в раскрывающемся списке, возникает событие, которое вызывает «CreateChild». "функция ..

Много раз данные «хранятся», в другое время - нет!

Это способ хранения значений (в функции переопределения ApplyChanges):

WPChartGenerator wpParent = (WPChartGenerator)this.ParentToolPane.SelectedWebPart;
wpParent.WebUrl = txtWebUrl.Text.Trim();

И в событии CreateChild я получаю значение как:

WPChartGenerator wpParent = (WPChartGenerator)this.ParentToolPane.SelectedWebPart;
this.ddlWeb = new DropDownList();
this.ddlWeb.ID = "ddlweb" + wpParent.ID;
ddlWeb.SelectedValue = wpParent.WebService;

Теперь .. Иногда это работает, например, когда я нажимаю кнопку, я вызываю код кнопки, а затем код для сохранения каждого значения. В некоторых случаях (например, кнопки) это работает, в других (например, событие выпадающего списка (изменение индекса). Это не удалось, и я обнаружил, что каждый объект в wpParent равен его начальному значению.

Еще одна вещь, которую я заметил, это то, что в определенных случаях, когда событие инициируется, первое, что должно быть выполнено (даже первым, чем связанный с событием код) il CreateChild (даже первым, чем OnLoad !!!)

Кто-нибудь может сказать мне, что я делаю неправильно? У кого-нибудь есть хорошие уроки по этому вопросу?

Спасибо и извините 4, мой школьный уровень английского языка =)

Забудьте, что каждая переменная была реализована как свойство, например:

[WebBrowsable(false)]
[Personalizable(PersonalizationScope.Shared)]
[WebPartStorage(Storage.Shared)]
public string WebUrl
{
    get
    {
        return this.webUrl;
    }
    set
    {
        this.webUrl = value;
    }
}

1 Ответ

1 голос
/ 04 июля 2011

Я не могу видеть весь код там, поэтому я не знаю, что вы делаете неправильно (то есть у вас есть метод ApplyChanges), но из-за того, как вы сформулировали свой вопрос, это звучит так, как будто вы действительнонеобходимо начать с самого начала, следуйте одному из этих пошаговых руководств и убедитесь, что вы понимаете основы, а затем начните добавлять код для своего проекта.

MSDN - Создание веб-частей для SharePoint (VS2010)

MSDN - Пошаговое руководство. Создание базовой веб-части SharePoint (WSS 3.0)

Разработка веб-частей SharePoint 2007

...