ASPX 코드 숨김을 사용하여 사용자 지정 서식 파일에서 프로그래밍 방식으로 SharePoint 사이트를 만들려고합니다.) (ASP에서 SharePoint 사이트를 만들 때 사용자 지정 서식 파일을 찾을 수 없습니다.
것은이protected void Trigger_OnClick(object sender, EventArgs e)
{
SPSite site = new SPSite("http://portal.innovit.internal/sites/lab/prosjektstyring-prototyp");
using (SPWeb web = site.OpenWeb())
{
try
{
SPWebTemplate template = getSiteTemplate(web, "prosjektrom", 1044);
// Create new subsite
web.Webs.Add("templateSubsite3", "Subsite created in VS from template 3",
"What the title says", 1033, template.Name, false, false);
}
catch (Exception ex)
{
TextOutput.Text = ex.Message;
StackTrace.Text = ex.StackTrace;
}
}
}
/// <summary>
/// Look up a site template from site by name and Locale id (1033 = english
/// 1044 = bokmål). Return null if no result.
/// </summary>
private SPWebTemplate getSiteTemplate(SPWeb parent, String templateName,
uint localeID)
{
// Loop through all available templates
foreach (SPWebTemplate thisTemplate in parent.GetAvailableWebTemplates(localeID))
{
if (thisTemplate.Title.ToLower().Equals(templateName.ToLower()))
return thisTemplate;
}
return null;
}
, 내가 찾고 있어요 템플릿이 실제로 parent.GetAvailableWebTemplates에 대한 호출에 의해 발견입니다 :이 작업을 실행하는 버튼에 대한 이벤트 처리기에 연결된 코드입니다 : 템플릿 이름은 "{54833785-C62D-48E0-9DC7-1D458BB60814} #prosjektrom"이고 제목은 "prosjektrom"입니다. 그러나 예외가 발생합니다.
"File or arguments not valid for site template {54833785-C62D-48E0-9DC7-1D458BB60814}#prosjektrom. Parameter name: WebTemplate"
at Microsoft.SharePoint.SPWebTemplateCollection.get_Item(String strKey)
at Microsoft.SharePoint.SPWeb.ApplyWebTemplate(String strWebTemplate)
at Microsoft.SharePoint.SPWeb.CreateWeb(String strWebUrl, String strTitle, String strDescription, UInt32 nLCID, String strWebTemplate, Boolean bCreateUniqueSubweb, Boolean bConvertIfThere)
at Microsoft.SharePoint.SPWebCollection.Add(String strWebUrl, String strTitle, String strDescription, UInt32 nLCID, String strWebTemplate, Boolean useUniquePermissions, Boolean bConvertIfThere)
at CreateSiteDialog2.Layouts.CreateSiteDialog2.CreateSiteDialog2.Trigger_OnClick(Object sender, EventArgs e)
템플릿이 사용 가능한 템플릿 중 하나이기 때문에 실제로 이상하게 보입니다. 누구가 무슨 일이 일어나는지 알아?