失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用Module自定义网站定义(Site Definition)

使用Module自定义网站定义(Site Definition)

时间:2019-12-02 00:13:39

相关推荐

使用Module自定义网站定义(Site Definition)

在WSS SDK中有一篇文章介绍了使用Modules添加文件到网站定义中(可以在中搜索Using Modules to Add Files to a Site Difinition找到),不过很多东西只是稍微提了一下,具体怎么操作并没有讲到。

一般的,我们可以用下面的方法使用Module,

修改默认的Module

在STS网站定义中的ONET.XML中有一个默认的Default Module:

<Modules>

<ModuleName="Default"/>

</Modules>

然后在下面的 <Modules/Module Name="Default">中有<File>子元素。我们可以按照它的格式添加新的File元素即可。如:

<FileUrl="mslst.aspx">

<AllUsersWebPartWebPartOrder="1"WebPartZoneID="Body">

<![CDATA[

<WebPartxmlns="/WebPart/v2">

<Assembly>AssemblyName,Version=Version,Culture=neutral,

PublicKeyToken=PublicKeyToken</Assembly>

<TypeName>TypeName</TypeName>

<Description></Description>

<FrameType>None</FrameType>

</WebPart>

]]>

</AllUsersWebPart>

</File>

其中, <AllUsersWebPart>就是用来指定页面上WebPartZone中的Web部件的。当然,如果不需要指定Web部件的话,就不需要使用<AllUsersWebPart>了。

另外需要注意的是,上面示例代码中的<File>元素的Url属性值指定的是网站定义中此文件的路径,也是需要在网站中访问此文件的路径自定义Module。由于<Module Name="Default">的Path属性的值为空,因此,此文件(mslst.aspx)的路径应该也在网站定义的根路径下,和default.aspx在同一个目录。使用默认的Module不能添加子目录(至少我还没有试出来。不知道哪位高手有这方面的经验),这是不太方便的。如果需要添加子目录的话,可以照下面的方法做: 新建一个Module

添加一个Module可以在ONET.XMl中的Project/Configurations/Configuration/Modules下新建一个Module子元素,如:

<Modules>

<ModuleName="Default"/>

<ModuleName="NewMd"/>

</Modules>

更改此Module的属性然后需要相应的在 Project/Modules元素下新建一个Module元素,其中: Path属性指定此Module对应的文件夹的相对路径(相对与此ONET.XMl),Url属性指定在网页中访问此网站的路径。另外还有一个 RootWebOnly 属性指定此Module是否只有在根网站才有。如:

<ModuleName="NewWd"Url="_New"Path="New/">

<Module/>

添加文件然后就是象上面一样,在这个Module元素下添加File元素了。

使用上面介绍的方法可以帮助我们定义自己的网站定义。

如果觉得《使用Module自定义网站定义(Site Definition)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。