2014-02-10 2 views
0

Я не могу понять, как скрывать свой SPListItem до моего пользовательского объекта, а затем добавить его в свой список. Я начинающий разработчик и новичок в SharePoint, поэтому любая помощь приветствуется. Как установить свой элемент ["Пояснительный текст"] равным общедоступному классу ExpandedHomeSlider {public string ExplanatoryText}, а затем добавить его в мой расширенный списокSliderList?Как мне установить свой элемент ["Объяснительный текст"] равным общедоступному классу ExpandedHomeSlider string ExplanatoryText, а затем добавить его в мой расширенный список?

public partial class HomePageHeroRotator : UserControl 
{ 

    public class HeroImage 
    { 
     public SPListItem SpListItem; 
     public string HeroImageUrl 
     { 
      get { return SpListItem["HeroImage"].ToString(); } 
     } 
     public string HeroImageUrl2 
     { 
      get { return SpListItem["HeroImageCallOut"].ToString(); } 
     } 
    } 
    public class ExpandedHomeSlider 
    { 
     public SPListItem SpListItem; 
     public string ExplanatoryText 
     { 
      get { return SpListItem["ExplanatoryText"].ToString(); } 
     } 
     public string AttentionExplanatoryText2 
     { 
      get { return SpListItem["ExplanatoryText"].ToString(); } 
     } 
     public string ExplanatoryText2 
     { 
      get { return SpListItem["ExplanatoryText"].ToString(); } 
     } 
     public string HomeSliderImageUrl 
     { 
      get { return SpListItem["ExpandedSliderImage"].ToString(); } 
     } 
     public string GreenFlyoutText 
     { 
      get { return SpListItem["GreenFlyoutText"].ToString(); } 
     } 
    } 


    protected void Page_Load(object sender, EventArgs e) 
    { 
     //Query List for all List Items 
     //ASCX to render list items 
     SPSite site = null; 
     if (SPContext.Current != null) 
     { 
      site = SPContext.Current.Site; 
     } 
     SPList list = site.RootWeb.Lists["HomePageHero"]; 

     SPListItemCollection myItems = list.Items; 
     IEnumerable eList = myItems.Fields as IEnumerable; 
     List<ExpandedHomeSlider> expandedSliderList = new List<ExpandedHomeSlider>(); 
     //var expandedSliderList = new List<string>(); 



     HomePageHeroRpt.DataSource = expandedSliderList; 
     HomePageHeroRpt.DataBind(); 

ответ

0

Так что я создал HomePageRotatorItem.cs:

public class HomePageRotatorItem : DataItemBase 
{ 
    /// <summary> 
    /// Default constructor 
    /// </summary> 
    /// <param name="spListItem">The SPListItem to create the DataItemBase from</param> 
    public HomePageRotatorItem(SPListItem spListItem) : base(spListItem) 
    { 
    } 

    public string HeroImageUrl 
    { 
     get { return SpListItem["HeroImage"].ToString(); } 
    } 
    public string HeroImageUrl2 
    { 
     get { return SpListItem["HeroImageCallOut"].ToString(); } 
    } 

    public string ExplanatoryText 
    { 
     get { return SpListItem["ExplanatoryText"].ToString(); } 
    } 
    public string AttentionExplanatoryText2 
    { 
     get { return SpListItem["ExplanatoryText"].ToString(); } 
    } 
    public string ExplanatoryText2 
    { 
     get { return SpListItem["ExplanatoryText"].ToString(); } 
    } 
    public string HomeSliderImageUrl 
    { 
     get { return SpListItem["ExpandedSliderImage"].ToString(); } 
    } 
    public string GreenFlyoutText 
    { 
     get { return SpListItem["GreenFlyoutText"].ToString(); } 
    } 
} 

Тогда в моем .cs управления я использовал LINQ:

protected void Page_Load(object sender, EventArgs e) 
    { 
     SPSite site = null; 
     if (SPContext.Current != null) 
     { 
      site = SPContext.Current.Site; 
     } 
     SPList list = site.RootWeb.Lists["HomePageHero"]; 

     SPListItemCollection myItems = list.Items; 
     var rotatorItems = myItems.Cast<SPListItem>().Select(x => new HomePageRotatorItem(x)); 
     //IEnumerable eList = myItems.Fields as IEnumerable; 
     //List<ExpandedHomeSlider> expandedSliderList = new List<ExpandedHomeSlider>(); 
     //var expandedSliderList = new List<string>(); 

     //foreach (SPListItem item in myItems) 
     //{ 
     // var newExpandedSlider = new ExpandedHomeSlider() { ExplanatoryText = item["Explanatory Text"]} 
     // ExpandedHomeSlider ExplanatoryText = item["Explanatory Text"].ToString(); 
     // expandedSliderList.Add(ExplanatoryText);  
     //} 

     HomePageHeroRpt.DataSource = rotatorItems; 
     HomePageHeroRpt.DataBind();