SharePoint 2013 WebPart未传递自定义属性

时间:2015-06-02 20:19:39

标签: c# sharepoint sharepoint-2013

在SharePoint 2013中开发webpart并且遇到自定义属性问题。自定义属性输入框显示,并且在前端显示正常。但是,当我在任一框中输入一个值并点击“应用”时,进入设置器的值为空。

这是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);
    }
}

}

1 个答案:

答案 0 :(得分:0)

经过几个小时的敲打我的桌子后,我的同事看着它,发现它被设置为沙箱解决方案。让这成为每个人的一课,首先检查一下。