DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

如何添加DevExpress ASPxNavBar控件到SharePoint 2010 的默认主页上?

来源:本站原创   发布时间:2012-08-27   浏览:2987次

这篇文章演示了如何添加ASPxNavBar控件到SharePoint 2010 的默认主页上。它同时也描述了把DevExpress控件集成到SharePoint 2010 里的过程。

修改快速启动菜单或者添加导航控件到SharePoint 2010 的整个过程可以被分为以下几部分:

注册ASPxNavBar控件

控件在SharePoint 里可用之前,它们首先应该被注册到系统里。正确的完成注册操作,你应该从以下几个目录里得到DevExpress程序集:

c:\Program Files (x86)\DevExpress 2010.1\Components\Components\Sources\DevExpress.DLL\

你的路径可能与上述的路径不同。不需要在SharePoint服务器上安装DevExpress控件。例如,它们可能已经在开发机上被注册了,并且可以从安装在开发机上的程序集里移除。由于导航控件属于ASPxperience套件,所需要的一系列程序集如下所示:

DevExpress.Web.v10.1.dll
DevExpress.Data.v10.1.dll
DevExpress.Web.ASPxThemes.v10.1.dll

在全局程序集缓存里注册这些程序集有几种方法:将程序集添加到全局程序集缓存.

下面是 c:\Windows\assembly 目录的两张图片(程序集注册前、后)

ASPxNavBar,DevExpress控件,SharePoint 2010,HttpHandler模块,AspMenu

由于程序集都注册在全局程序集缓存里,所以它们可以被任何的应用程序使用。但是,他们应该被注册在web.config 文件里,如如何将DevExpress web控件整合到SharePoint页面? 这篇文章中描述的一样。

在测试SharePoint 2010 服务器中,web.config 文件在c:\inetpub\wwwroot\wss\VirtualDirectories\80 目录中可以得到。

[XML]

<SafeControls>

...

<SafeControl Assembly="DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxNavBar" TypeName="*" Safe="True" />

<SafeControl Assembly="DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TypeName="*" Safe="True" />

<SafeControl Assembly="DevExpress.Data.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Data" TypeName="*" Safe="True" />

</SafeControls>

[XML]

<assemblies>

<add assembly="DevExpress.Data.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />

<add assembly="DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />

<add assembly="DevExpress.Web.ASPxThemes.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />

</assemblies>

注意:ASPxThemes.dll 程序集应该被注册到web.config 文件里,如果它在SharePoint页面上使用DevExpress 主题的话。

DevExpress 控件的最新版本使用了HTTP模板和HTTP处理器,叫作ASPxHttpHandlerModule。它们应该被注册到web.config 文件里,假定SharePoint 2010在集成模式里使用了IIE7应用程序集区: 如何手动注册一个HttpHandler的模块?

[XML]

<system.web>

<httpHandlers>

<add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" verb="GET" path="DX.ashx" preCondition="integratedMode"/>

</httpHandlers>

 

<httpModules>

<add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule"/>

</httpModules>

</system.web>

<system.webServer>

<modules runAllManagedModulesForAllRequests="true">

<add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule"/>

</modules>

<handlers>

<add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" verb="GET" path="DX.ashx" preCondition="integratedMode"/>

</handlers>

</system.webServer>

注意:使用iisreset 程序重启IIS是合适的,然后检查SharePoint网页,从而服务器正常启动了。

现在万事俱备,因此我们可以开始放置DevExpress控件到网页上。

修改主页的快速启动标志

SharePoint 2010 的默认主页可以使用SharePoint 2010 设计器来修改。设计器可以从以下两个链接下载:

Microsoft SharePoint Designer 2010 (32-bit)
Microsoft SharePoint Designer 2010 (64-bit)

要打开SharePoint 2010 ,你应该首先启动设计器,然后打开一个网站。网站的名字应该是一个用户可以使用的真名。因为如果本地用户被指定的话,就不能编辑主页了。

这些步骤显示在下面这张图片中:

ASPxNavBar,DevExpress控件,SharePoint 2010,HttpHandler模块,AspMenu

当前的SharePoint应用程序使用的是v4.master 页面作为主页面。

要添加导航控件到主页上,它们首先应该通过下面几行语句被注册到文件的顶部:

在v4.master 页面的中间,你应该定位如下代码:

[ASPx]

<%@ Register assembly="DevExpress.Web.v10.1, Version=10.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxNavBar" TagPrefix="dx" %>

In the middle of the v4.master page, you should locate the following code:

[ASPx]

<SharePoint:UIVersionedContent UIVersion="4" runat="server">

<ContentTemplate>

<SharePoint:AspMenu id="V4QuickLaunchMenu" runat="server" EnableViewState="false" DataSourceId="QuickLaunchSiteMap" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Vertical" StaticDisplayLevels="2" MaximumDynamicDisplayLevels="0" SkipLinkText="" CssClass="s4-ql" />

</ContentTemplate>

</SharePoint:UIVersionedContent>

您应该删除AspMenu,并用ASPxNavBar取代它:

[ASPx]

<SharePoint:UIVersionedContent UIVersion="4" runat="server">

<ContentTemplate>

<dx:ASPxNavBar id="V4QuickLaunchNavBar" runat="server" DataSourceID="QuickLaunchSiteMap" EnableViewState="false" />

</ContentTemplate>

</SharePoint:UIVersionedContent>

你应该把AspMenu移除,并且用ASPxNavBar来代替。

注意:最好把AspMenu从页面上移除,因为如果你仅仅把它注释掉,那么一些客户端初始化脚本将会在页面上被呈现,并且它们会尝试去使用这个菜单即使这个菜单已经被注释掉。一个有趣的事情就是被注释掉的AspMenu会在被禁锢于注释标签的同时又在页面上呈现出来。

完成这些操作以后,你可以看到 ASPxNavBar 控件其实是快速启动菜单的一个替代品。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/311.html
在线
客服
微信
QQ 电话
023-68661681
返回
顶部