0

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

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

在初始阶段,我为菜单链接设置了硬编码值,并且在每个页面中我都可以看到菜单。现在菜单是动态的,所以我有一个带有菜单选项的共享点列表,所以我更改了代码,而不是硬编码值,我从列表中获取它们,代码运行良好,我可以在调试时检查,但是最后我得到一个完整的空白页。

我无法与将在网站页面中使用的用户控件内的共享点数据进行交互?

我在普通/应用程序页面中测试了控件,并且在两种情况下(硬编码和共享点数据)都可以正常工作。

一个简单的代码示例:

 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代码只有这两个控件的声明。

4

1 回答 1

0

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

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

谢谢

于 2018-01-23T16:37:30.950 回答