Как заполнить элемент управления раскрывающегося списка (ASP.NET) из коллекции SPListTemplateCollection (SharePoint 2007)?
SPWeb web = SPContext.Current.Web; ddlTemplateList = new DropDownList(); ddlTemplateList.DataSource = web.ListTemplates; ddlTemplateList.DataBind();
Этот код не работает надлежащим образом ... Имяшаблон списка не отображается.
Вам нужно указать DataTextField and DataValueField, чтобы оно заработало.
DataTextField and DataValueField
ddlTemplateList.DataSource = web.ListTemplates; ddlTemplateList.DataTextField = "DisplayColumnName"; ddlTemplateList.DataValueField = "ValudColumnName"; ddlTemplateList.DataBind();
Попробуйте это
List<SPWeb> lstSPWeb = web.ListTemplates ddlTemplateList.DataSource = lstSPWeb; ddlTemplateList.DataBind();
используйте свойства DisplayMember и ValueMember!
update
DisplayMember и ValueMember являются свойствами для элементов управления WinForm.
Для правильного решения asp.net, предложенного Мухаммедом, используется DataTextFieldи DataValueField.
foreach (SPListTemplate lt in SPContext.Current.Web.ListTemplates) ddlTemplateList.Items.Add(new ListItem(lt.Name, lt.Type.ToString()));