Share via


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的模板,也就是第一个模板。

快去看看,是不是这个用户已经被加为管理员了?

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

请通过评论,告诉我你的想法和需求。这样我可以更好的添加对你有用的信息。谢谢参与!