如何使用contentypecollection填充mvc下拉列表

时间:2014-05-27 13:01:59

标签: c# asp.net-mvc asp.net-mvc-3

我需要显示一个下拉列表,其中包含我的sharepoint主机网站提供的内容类型。 通常我会在html帮助器中使用类似contentype.name但不在intellisense中,我想知道是否应该在将contentypecollection传递给视图之前将其转换为列表?

 public ActionResult Index() //Index fills the dropdown
    {
        var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);

        using (var ctx = spContext.CreateUserClientContextForSPHost())
        {
            ContentTypeCollection contentTypes = ctx.Web.ContentTypes;
            ctx.Load(contentTypes);
            ctx.ExecuteQuery();
            return View(contentTypes);
        }    
    }

视图

@model Microsoft.SharePoint.Client.ContentTypeCollection
@{
    ViewBag.Title = "ContentType";
}

<h2>ContentType</h2>

<h2>FillDropDwon</h2>
@Html.DropDownList("ContentTypeList", "????", "Select")

1 个答案:

答案 0 :(得分:1)

您需要将ValueText的属性更改为ContentType属性

@Html.DropDownList("ContentTypeList", new SelectList(Model , "Value" , "Text"))