在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);
}
}
}
答案 0 :(得分:0)
经过几个小时的敲打我的桌子后,我的同事看着它,发现它被设置为沙箱解决方案。让这成为每个人的一课,首先检查一下。