ExecuteUrl
上回,我们简单看了如何创建Site模板
https://weblogs.asp.net/oliverlu/archive/2004/09/08/226709.aspx
我们现在来看看在Site模板中可以添加的一个很有用的命令ExecuteUrl
以一个实际的例子:直接修改WSS的模板为例,来仔细看看:
1. 先在服务器上找到下面的文件夹,如果是简体/繁体中文版,对应的是2052/1028:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\STS\XML
然后编辑其中的Onet.xml文件。
2. 找到下面的信息,这是默认的Team Site的配置。
<Configuration ID="0" Name="Default">
3. 然后找Configuration中的Modules模块:
<Modules>
<Module Name="Default"/>
<Module Name="WebPartPopulation"/>
</Modules>
4. 现在,在
<Modules>
……
</Modules>
下面,添加下面这样的一条信息:
<ExecuteUrl Url="_layouts/executeurl/configure.aspx" />
然后,保存就可以了。注意,这里是区分大小写的。
5. 接下来,我们需要写_layouts/executeurl/configure.aspx了,这其实就是一个Web Application。在_layouts下面创建一个Web Application,名字就叫executeurl,然后把WebForm1.aspx文件改名为configure.aspx。
6. 现在,在configure.aspx的Page_Load事件中,添加下面的代码:
private void Page_Load(object sender, System.EventArgs e)
{
SPSite mysite = SPControl.GetContextSite(Context);
SPWeb myweb = SPControl.GetContextWeb(Context);
myweb.AllowUnsafeUpdates = true;
SPRole myrole = myweb.Roles["Administrator"];
myrole.AddUser("domain\\user1","user1@domain.com","User 1","User 1");
myrole.Update();
string defaultpage = myweb.Url + "/default.aspx";
this.Response.Redirect(defaultpage);
}
这段代码做的事情是:
1) 得到这个新建的站点的信息。
2) 把一个用户添加为站点的管理员。
3) 然后,回到主页上。
7. 最后,来一次IISReset,然后建立一个站点。选择站点模板的时候,就使用默认的Team Site的模板,也就是第一个模板。
快去看看,是不是这个用户已经被加为管理员了?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
请通过评论,告诉我你的想法和需求。这样我可以更好的添加对你有用的信息。谢谢参与!
Comments
- Anonymous
October 10, 2004
好文,长知识。谢谢!