SharePoint 2013 WebPart 未传递自定义属性

SharePoint 2013 WebPart not passing Custom Properties

在 SharePoint 2013 中开发 Web 部件时遇到自定义属性问题。自定义属性输入框出现,并且在前端显示一切正常。但是,当我在任一框中输入一个值并点击 'Apply' 时,进入 setter 的值为空。

这是 ascx.cs 文件。 GetEvents 和 GetNews 是对其他 类 的调用。他们使用来自自定义属性的字符串并将它们传递给函数以提取自定义列表。 (当我正确地对列表进行硬编码时,它们会拉出)注释掉的是默认值,因为它们似乎有效,但由于上述 setter.

的问题而不会改变
    using System;
    using System.ComponentModel;
    using System.Web.UI.WebControls.WebParts;
    using System.Collections.Generic;
    using System.Collections;
    using System.Web.UI.WebControls;
    using System.Web.UI;

    namespace ListGet.VisualWebPart1
    {
        [ToolboxItemAttribute(false)]
        public partial class VisualWebPart1 : WebPart
        {
        //const string _eventDefaultList = "Events";
        //const string _newsDefaultList = "News";
        private string _eventsList;
        private string _newsList;

        [WebDisplayName("EventsList")]
        [WebDescription("Name of Events List")]
        [WebBrowsable(true)]
        [Personalizable(PersonalizationScope.Shared)]
        //[DefaultValue(_eventDefaultList)]
        public string EventsList
        {
            get { return _eventsList; }
            set { _eventsList = value; }
        }

        [WebDisplayName("NewsList")]
        [WebDescription("Name of News List")]
        [WebBrowsable(true)]
        [Personalizable(PersonalizationScope.Shared)]
        //[DefaultValue("News")]
        public string NewsList
        {
            get { return this._newsList; }
            set { this._newsList = value; }
        }

    public VisualWebPart1()
    {
    }

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        InitializeControl();
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected List<CalendarItem> GetEventItems()
    {
        EventsList events = new EventsList();
        return events.GetEvents(this.EventsList);
    }

    protected List<CalendarItem> GetNewsItems()
    {
        NewsList news = new NewsList();
        return news.GetNews(this.NewsList);
    }
}

}

我的头撞在桌子上几个小时后,我的同事看了看,发现它被设置为沙盒解决方案。给大家一个教训,先看看。