具有用户控件的Sharepoint 2010站点页面=空白页面

时间:2017-12-18 15:49:56

标签: sharepoint user-controls sharepoint-2010 site-definition

我有一个网站定义的问题,它有几个网站页面,在那些页面我需要有一个顶级菜单,所以我创建了一个用户控件,绘制该菜单,并将其添加到页面。

部署解决方案后,我可以很好地创建网站。

在初始阶段,我有菜单链接的硬编码值,在每个页面中我都可以看到菜单。 现在菜单是动态的,所以我有一个带有菜单选项的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 个答案:

答案 0 :(得分:0)

经过多次测试,我得出结论,我有两个问题: 1 - 在这个项目中出于某些原因,我不知道,在代码中有人添加了一些代码来清除错误,这就是为什么我有空白页面。

2 - 看到错误之后,我可以确认如果我使用网站页面并尝试使用Using获取数据,当它尝试处理对象时会抛出异常,所以解决方案很简单,只需删除Usings

由于