2011-06-02 70 views
0

如何從SPListTemplateCollection(SharePoint 2007)填充下拉列表控件(ASP.NET)?如何填充下拉列表控件集合?

SPWeb web = SPContext.Current.Web; 

ddlTemplateList = new DropDownList(); 
ddlTemplateList.DataSource = web.ListTemplates; 
ddlTemplateList.DataBind(); 

此代碼無法正常工作...列表模板的名稱未顯示。

回答

1

使用DisplayMember和ValueMember屬性!

更新

DisplayMember和ValueMember是的WinForm控件屬性。

對於asp.net正確的解決方案,正如穆罕默德所提到的,是使用DataTextField和DataValueField。

2

您需要指定DataTextField and DataValueField才能使其工作。

ddlTemplateList.DataSource = web.ListTemplates; 
ddlTemplateList.DataTextField = "DisplayColumnName"; 
ddlTemplateList.DataValueField = "ValudColumnName"; 
ddlTemplateList.DataBind(); 
+0

我用你的代碼,但是當我部署我的項目,一個錯誤在SharePoint網站上occure。 – ThisIsIgorae 2011-06-02 15:37:07

+0

在可能的情況下始終提供錯誤!沒有它,我們無法幫助你! – danyolgiax 2011-06-02 15:38:45

+0

對不起,但該消息並不是非常有用:「發生了意外錯誤。」 – ThisIsIgorae 2011-06-02 15:42:09

1

試試這個

 List<SPWeb> lstSPWeb = web.ListTemplates 
     ddlTemplateList.DataSource = lstSPWeb; 
     ddlTemplateList.DataBind(); 
0
foreach (SPListTemplate lt in SPContext.Current.Web.ListTemplates) 
      ddlTemplateList.Items.Add(new ListItem(lt.Name, lt.Type.ToString()));