Страница сайта Sharepoint 2010 с пользовательским контролем = пустая страница
У меня проблема с определением сайта, у него есть несколько страниц сайта, на этих страницах мне нужно верхнее меню, поэтому я создал пользовательский элемент управления, который рисует это меню, и добавил его на страницы.
После развертывания решения я могу создать сайт просто отлично.
На начальном этапе у меня есть жестко закодированные значения для ссылок меню, и на каждой из страниц я мог видеть меню. Теперь меню динамическое, поэтому у меня есть список sharepoint с опциями меню, поэтому я изменил код, вместо жестко закодированных значений, получаю их из списка, код работает нормально, я могу проверить это во время отладки, но в конце я получаю полную пустую страницу.
Я не могу взаимодействовать с данными sharepoint внутри пользовательского элемента управления, который будет использоваться на странице сайта?
Я проверил элемент управления на обычной странице / странице приложения, и он отлично работает в обоих случаях (жестко закодированные данные и данные sharepoint).
Простой пример кода:
protected void Page_Load(object sender, EventArgs e)
{
lblDate.Text = DateTime.Now.ToLongTimeString();
ddlData.Items.Clear();
//Option Manual - WORKS FINE
ddlData.Items.Add("Manual 1");
ddlData.Items.Add("Manual 2");
ddlData.Items.Add("Manual 3");
//Option Sharepoint Data - DOESNT WORK
SPSecurity.RunWithElevatedPrivileges(delegate () {
using (SPSite site = SPContext.Current.Site)
{
using (SPWeb web = site.RootWeb)
{
foreach (SPList lista in web.Lists)
{
ddlData.Items.Add(lista.Title);
}
}
}
});
}
Остальная часть кода - это простая страница со ссылкой на этот пользовательский элемент управления, а в aspx-коде пользовательского элемента управления есть объявление только этих двух элементов управления.
1 ответ
После нескольких тестов я пришел к выводу, что у меня есть две проблемы: 1 - В этом проекте по неизвестной мне причине в коде кто-то добавил какой-то код для устранения ошибок, поэтому у меня была пустая страница.
2 - Увидев ошибку, я могу подтвердить, что если я использую страницы сайта и пытаюсь получить данные с помощью Using, когда он пытается расположить объекты, он выдает исключение, поэтому решение было простым, просто удалите Usings.
Спасибо