C# 如何在将新项目添加到列表后基于模板创建新的sharepoint网站
如何在将新项目添加到列表后基于模板创建新的sharepoint网站,例如,我在sharepoint网站a上有一个包含项目信息的列表,其想法是,在将新项目添加到该列表后,我需要为该项目自动创建新的sharepoint网站团队空间C# 如何在将新项目添加到列表后基于模板创建新的sharepoint网站,c#,sharepoint-2007,workflow,sharepoint-designer,C#,Sharepoint 2007,Workflow,Sharepoint Designer,如何在将新项目添加到列表后基于模板创建新的sharepoint网站,例如,我在sharepoint网站a上有一个包含项目信息的列表,其想法是,在将新项目添加到该列表后,我需要为该项目自动创建新的sharepoint网站团队空间 另外,我想知道是否可以使用工作流创建此网站,或者是否可以使用工作流调用WebService。您确定要创建这么多网站吗? 这不是我的建议,我的意思是,想想你在两年后从事的管理工作,这些事情往往会变得疯狂 我认为如果可能的话,你应该考虑所有项目的1个站点。 你仍然可以用权利等
另外,我想知道是否可以使用工作流创建此网站,或者是否可以使用工作流调用WebService。您确定要创建这么多网站吗? 这不是我的建议,我的意思是,想想你在两年后从事的管理工作,这些事情往往会变得疯狂 我认为如果可能的话,你应该考虑所有项目的1个站点。 你仍然可以用权利等来调整事情 从积极的方面来看,一般来说,人们会发现在一个站点内查找内容更容易 嗯,就我的几块钱,我不得不处理基于项目的静坐,我发现这是一场噩梦。
但是,如果你愿意,我不会阻止你,但请确保你也想要..你确定要创建这么多网站吗? 这不是我的建议,我的意思是,想想你在两年后从事的管理工作,这些事情往往会变得疯狂 我认为如果可能的话,你应该考虑所有项目的1个站点。 你仍然可以用权利等来调整事情 从积极的方面来看,一般来说,人们会发现在一个站点内查找内容更容易 嗯,就我的几块钱,我不得不处理基于项目的静坐,我发现这是一场噩梦。
但是,如果你愿意,我不会阻止你,但请确保你也这么想。你可以用工作流来完成这项工作,但我真的很怀疑,至少这不会特别容易 我建议在列表中添加一个事件接收者,这是我在几次需要遵循此模型的情况下所做的,对我来说非常成功 如果在列表中添加项目时希望使用列表处理程序基于模板创建站点,则可以附加ItemCreated或ItemCreating,这也是一个选项,可以根据刚刚创建的列表项目中的值对新站点进行任何配置。您可以通过特性绑定来配置它,但我发现这不太方便,特别是当您需要查看新创建项的值时
如果编辑父列表上的项目需要影响子列表,则还可以处理ItemUpdated或Update事件。您还可以处理ItemDeleted或delete,如果删除它会删除子网站。您可以使用工作流来执行此操作,但我确实怀疑这一点,至少这不会特别容易 我建议在列表中添加一个事件接收者,这是我在几次需要遵循此模型的情况下所做的,对我来说非常成功 如果在列表中添加项目时希望使用列表处理程序基于模板创建站点,则可以附加ItemCreated或ItemCreating,这也是一个选项,可以根据刚刚创建的列表项目中的值对新站点进行任何配置。您可以通过特性绑定来配置它,但我发现这不太方便,特别是当您需要查看新创建项的值时
如果编辑父列表上的项目需要影响子列表,则还可以处理ItemUpdated或Update事件。您还可以处理ItemDeleted或delete,如果删除它会删除子网站。好的,首先您必须使用visual studio创建一个sharepoint项目 在那里你可以写c 在c中创建站点的步骤
SPSite topLevelSite = new SPSite("http://localhost");
SPWeb spWebInstance = topLevelSite.OpenWeb();
String siteTemplate = spWebInstance.WebTemplate;
try
{
SharePointWebInstance.Webs.Add("the name", "name", "new site added", (UInt32)System.Globalization.CultureInfo.CurrentCulture.LCID, siteTemplate, false, false);
}
catch(Exception ex)
{
//...
}
finally
{
topLevelSite.Close();
SharePointWebInstance.Dispose();
}
首先,顺便说一句,如果您只使用sharepoint designer,就不能使用c,因为c是与visual studio一起使用的
从列表中检索某物
using Microsoft.SharePoint;
class SPTest {
public void ReadList() {
// Use using to make sure resources are released properly
using(SPSite oSite = new SPSite(pathToSite)) {
using(SPWeb oWeb = oSite.AllWebs[nameOfWeb]) {
// Alternately you can use oSite.RootWeb if you want to access the main site
SPList oList = oWeb.Lists[listName]; // The display name, ie. "Calendar"
foreach(SPListItem oItem in oList.Items) {
// Access each item in the list...
DateTime startTime = (DateTime)oItem["Start Time"];
// etc....
}
}
}
}
}
为了让您开始学习,我推荐youtube,看看您如何同时使用sharepoint和visual studio,或者更好地学习我学习的Microsoft Official课程10175A
上面的代码来自互联网,而不是书本
我不认为用普通的工作流或javascript就可以做到这一点,尽管一些java代码在ajax等方面非常强大,所以您应该花时间在visualstudio中解决这个问题。c并不难读,慢慢来
哦,我看到你在使用2007,从编程的角度来看,它的使用不太友好,如果这段代码不起作用,我认为它仍然接近可以完成的方式,只需检查对象和你用它做的事情,它可能会略有不同。好的,首先你必须用visual studio创建一个sharepoint项目 在那里你可以写c 在c中创建站点的步骤
SPSite topLevelSite = new SPSite("http://localhost");
SPWeb spWebInstance = topLevelSite.OpenWeb();
String siteTemplate = spWebInstance.WebTemplate;
try
{
SharePointWebInstance.Webs.Add("the name", "name", "new site added", (UInt32)System.Globalization.CultureInfo.CurrentCulture.LCID, siteTemplate, false, false);
}
catch(Exception ex)
{
//...
}
finally
{
topLevelSite.Close();
SharePointWebInstance.Dispose();
}
首先,顺便说一句,如果您只使用sharepoint designer,就不能使用c,因为c是与visual studio一起使用的
从列表中检索某物
using Microsoft.SharePoint;
class SPTest {
public void ReadList() {
// Use using to make sure resources are released properly
using(SPSite oSite = new SPSite(pathToSite)) {
using(SPWeb oWeb = oSite.AllWebs[nameOfWeb]) {
// Alternately you can use oSite.RootWeb if you want to access the main site
SPList oList = oWeb.Lists[listName]; // The display name, ie. "Calendar"
foreach(SPListItem oItem in oList.Items) {
// Access each item in the list...
DateTime startTime = (DateTime)oItem["Start Time"];
// etc....
}
}
}
}
}
只是为了让你开始
,我会推荐youtube,看看如何同时使用sharepoint和visual studio,或者更好地学习我所学的Microsoft Official课程10175A
上面的代码来自互联网,而不是书本
我不认为用普通的工作流或javascript就可以做到这一点,尽管一些java代码在ajax等方面非常强大,所以您应该花时间在visualstudio中解决这个问题。c并不难读,慢慢来
哦,我看到你在使用2007,从编程的角度来看,它的使用不太友好,如果这段代码不起作用,我认为它仍然接近可以完成的方式,只需检查对象和你用它做的事情,它可能会略有不同。我们实际上有很多可能是6+?像我们公司这样的网站。人们普遍认为这是一个相当合适的模型。子网站通常是临时的、过时的,并且可以在一段时间后删除。如果他们不能,你是对的,它确实开始占用很多空间,这确实需要解决。而且,这并不是问题的真正答案;这是一条评论。这是一条评论,我不会建议这样一条评论尽管你通常使用它,sharepoint对一家公司的作用通常是共享信息,而不是隐藏在网站中。我的shaperpoint手册明天就拿回来了,如果其他人不回答,我可能会。哦,是的,我知道这不是最好的解决方案,我建议所有项目都使用与你说的相同的解决方案1 site,但公司希望这样做,为每个项目创建一个新的siteteamspace,所以我试图找到一个解决办法:@user613326这是一个非常合适的评论,只是不是一个答案。答案应该回答这个问题;如果你只是想说,那不是一个好主意,不说明应该如何做,然后发表评论,而不是回答。好吧,我是一个新手,有时我会混淆这里的按钮:查看我的最新答案哦,对于2007年不,除非你使用visual studio创建工作流,否则你不能在工作流中这样做。这些功能更强大。我们实际上有很多可能是6+?像我们公司这样的网站。人们普遍认为这是一个相当合适的模型。子网站通常是临时的、过时的,并且可以在一段时间后删除。如果他们不能,你是对的,它确实开始占用很多空间,这确实需要解决。而且,这并不是问题的真正答案;这是一条评论。这是一条评论,我不会建议这样一条评论尽管你通常使用它,sharepoint对一家公司的作用通常是共享信息,而不是隐藏在网站中。我的shaperpoint手册明天就拿回来了,如果其他人不回答,我可能会。哦,是的,我知道这不是最好的解决方案,我建议所有项目都使用与你说的相同的解决方案1 site,但公司希望这样做,为每个项目创建一个新的siteteamspace,所以我试图找到一个解决办法:@user613326这是一个非常合适的评论,只是不是一个答案。答案应该回答这个问题;如果你只是想说,那不是一个好主意,不说明应该如何做,然后发表评论,而不是回答。好吧,我是一个新手,有时我会混淆这里的按钮:查看我的最新答案哦,对于2007年不,除非你使用visual studio创建工作流,否则你不能在工作流中这样做。这些都是更强大的。