0
在SharePoint 2013中開發webpart並遇到自定義屬性問題。自定義屬性輸入框顯示出來,並且在前端上都顯示爲正常。然而,當我在任何一個框中輸入一個值並點擊'Apply'時,進入setter的值就是null。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);
}
}
}
把我的頭靠在牆上撞了幾個小時後,我明白了。 (其實一位同事指出了我) – Joe