我需要显示一个下拉列表,其中包含我的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")
答案 0 :(得分:1)
您需要将Value
和Text
的属性更改为ContentType属性
@Html.DropDownList("ContentTypeList", new SelectList(Model , "Value" , "Text"))