我的网站定义有问题,它有几个网站页面,在这些页面中我需要一个顶部菜单,所以我创建了一个用户控件,绘制该菜单并将其添加到页面中。
部署解决方案后,我可以很好地创建站点。
在初始阶段,我为菜单链接设置了硬编码值,并且在每个页面中我都可以看到菜单。现在菜单是动态的,所以我有一个带有菜单选项的共享点列表,所以我更改了代码,而不是硬编码值,我从列表中获取它们,代码运行良好,我可以在调试时检查,但是最后我得到一个完整的空白页。
我无法与将在网站页面中使用的用户控件内的共享点数据进行交互?
我在普通/应用程序页面中测试了控件,并且在两种情况下(硬编码和共享点数据)都可以正常工作。
一个简单的代码示例:
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代码只有这两个控件的声明。