我的解决方案中有一个列表定义,我希望以编程方式能够根据该列表定义创建列表,有人可以告诉我该怎么做吗?
<ListTemplate
Name="Mylise"
Type="10778"
BaseType="0"
OnQuickLaunch="TRUE"
SecurityBits="11"
Sequence="410"
DisplayName="My new List"
Description="My own list"
Image="/_layouts/images/itgen.png"/>
答案 0 :(得分:12)
呼叫
var customTemplate = yourSPWeb.ListTemplates["Mylise"];
获取列表模板对象,然后
yourSPWeb.Lists.Add("List title", "List description", customTemplate);
创建列表。
答案 1 :(得分:6)
try
{
SPList list = null;
using (SPSite site = new SPSite("http://yoursite/"))
{
using (SPWeb web = site.RootWeb)
{
//List Will be Created Based on this ListDefinition
- OOB Custom List Definition
//00BFEA71-DE22-43B2-A848-C05709900100
foreach (SPList _list in web.Lists)
{
if (_list.Title.Equals("TestList"))
{
list = _list;
}
}
if (list == null)
{
web.AllowUnsafeUpdates = true;
Guid listID = web.Lists.Add("TestList", //List Title
"This is Test List", //List Description
"Lists/TestList", //List Url
"00BFEA71-DE22-43B2-A848-C05709900100", //Feature Id of List definition Provisioning Feature – CustomList Feature Id
10778, //List Template Type
"101"); //Document Template Type .. 101 is for None
web.Update();
web.AllowUnsafeUpdates = false;
}
}
}
}
catch (Exception ex)
{
}
希望这对你有帮助:))