Friends, Technology, Web2.0 - What I am reading

    [Home] [Recent] [Site Map]

   

在MOSS中直接嵌入ASP.NET Page

在MOSS Document Library中的Page,有Basic Page和WebPart Page两种,前者更多的体现WCM特性,后者则更侧重体现Portal特性。

不管是Basic Page还是WebPart Page,都是直接和MOSS本身结合非常密切,都直接采用Site中的MasterPage。如果我们想把一个普通的ASP.NET Page也加到MOSS站点里运行,比如也放在Document Library里,或者放在SIte某个文件夹下面,然后通过MOSS站点URL直接访问运行该ASP.NET Page,就需要做一些工作了。这里就准备介绍这么一个Tip来完成这件事。我想,这种应用方式主要是针对一些需要特殊页面效果,或者追求短平快的小量自定义的场景的,也不失为各类复杂应用场景提供一个可以方便Work Around的通道。

1、首先从最简单的Hello World Page开始。点击此处查看 HelloWorld.aspx 源代码

2、将HelloWorld.aspx上传到Documents文档库中。此时,你直接点击文档库中的HelloWorld.aspx进行浏览,其URL类似http://localhost/Documents/HelloWorld.aspx,将出现“An error occurred during the processing of /Documents/helloworld.aspx. Code blocks are not allowed in this file.”的错误异常。

3、修改MOSS Site的web.config,比如C:\Inetpub\wwwroot\wss\VirtualDirectories\80\web.config。找到PageParserPaths这么一个节点,修改如下:

<PageParserPaths>
<PageParserPath VirtualPath="/Documents/helloworld.aspx" CompilationMode="Always" AllowServerSideScript="true" />
</PageParserPaths>

4、重新浏览http://localhost/Documents/helloworld.aspx,页面正常被编译执行。

至此已经验证普通的ASP.NET Page是可以顺利集成在MOSS中被执行的。下面发散思维,扩展下思路。

5、我们把SharePoint的一些接口也写在这个普通ASP.NET Page里,从这个ASP.NET Page去操作SharePoint的库表等相关信息。点击此处查看 HelloSharePoint.aspx源代码

6、将 HelloSharePoint.aspx上传到Documents文档库中。修改Web.config的PageParserPaths节点如下。表示Documents文档下所有页面都允许服务器端脚本并进行编译运行。

<PageParserPaths>
<PageParserPath VirtualPath="/Documents/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="false" />
</PageParserPaths>

 7、浏览http://localhost/Documents/HelloSharePoint.aspx,点击GetItems按钮,正常获取到Documents文档库下所有Item的Name列表。

至此说明在被嵌入的ASP.NET Page可以利用SharePoint API操作SharePoint各类库表数据。因此,我们甚至可以把这个普通的ASP.NET Page页做得和所在Site的页面风格一致,这样就达到瞒天过海了,在该ASP.NET Page内的操作感觉就如同在同一个MOSS Site中操作一般。

8、再延伸下思路。可以尝试把一些复杂业务逻辑操作封装在Assembly中,然后再在ASP.NET Page里调用即可。有兴趣者自己可以尝试这块操作。主要在ASP.NET Page中加入类似声明:

<%@ Register Tagprefix="MyAssembly" Namespace="ClassLibrary1" Assembly="ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=671d8e00903f3760" %>

希望对你有所帮助。


>>Source Link
>>Blog: joycode
>>Publish Date: 3/17/2007 8:01:31 AM
>>Keywords: page asp.net

Related Posts
>>ASP.NET AJAX 1.0资源连接以及对一些常见问题的答复 #
    【原文地址】Links to ASP.NET AJAX 1.0 resources, and answers to some common questions 【原文发表日期】 Thursday, January 25, 2007 12:53 AM 下面是几个ASP.NET AJAX 1.0资源的连接以及对我看到的跟ASP.NET AJAX 1.0产品发布有关的几个常见问题的答复: 精彩的免费资
>>ASP.NET中cache控制的方法 #
    如果你不想让客户端缓存(cache)你服务器上的网页的话,在ASP.NET中可以这样控制: 在Page_Load中写: Response.Cache.SetCacheability(HttpCacheability.NoCache); 我在测试的时候发现一些有趣的东西: 按HTTP 1.0的标准,你可以在html网页上直接使用 <meta http-equiv="pragma" conten
>>ASP.NET 2.0 技巧和诀窍以及ASP.NET, IIS7 和ASP.NET AJAX End to End 讲座 #
    【原文地址】 ASP.NET 2.0 Tips and Tricks and ASP.NET, IIS7 and ASP.NET AJAX End to End Talks 【原文发表日期】 Monday, February 05, 2007 4:49 PM 我结束了我旋风般的欧洲讲座之旅(在不到一个星期内横跨比利时,英国和荷兰),非常幸运有机会沿途给几百位朋友做讲座。在此特向跑来参与我讲座的各
>>也说UrlRewriter #
    UrlRewriter是我们现在做博客系统基本上必用的功能,除了对搜索引擎友好外,人也比较容易记,看着也舒服。关于UrlRewriter的文章其实也是非常多,由于有网友提出想了解肥猫博客使用的UrlRewriter技术,因此这里主要针对在肥猫博客中使用的UrlRewriter技术做一个介绍。这个实现主要是针对ASP.NET 1.1体系的,可能你要说ASP.NET 2.0都出来了,还要谈1.1,可是
>>ASP.NET AJAX 1.0“我怎么做?”免费录像(更新至最终版) #
    【原文地址】Free ASP.NET AJAX 1.0 "How Do I?" Videos (Updated for Final Release) 【原文发表日期】 Monday, February 12, 2007 11:08 PM ASP.NET 开发队的 Joe Stagner 过去的几个星期很忙,刚完成更新他的23个ASP.NET AJAX 1.0“我怎么做?”免费录像至ASP.NET
>>ASP.NET AJAX 1.0 发布了 #
    【原文地址】 ASP.NET AJAX 1.0 Released 【原文发表日期】 Tuesday, January 23, 2007 10:52 AM 我非常兴奋地宣布,ASP.NET AJAX 1.0(即Atlas)的最终版已于今天早晨发布了,你可以在这里下载。 ASP.NET AJAX 1.0 ASP.NET AJAX 1.0提供了一个丰富的客户端AJAX库,该库对核心JavaScript
>>Scott Guthrie射击甜圈列兵的录像(以及一些好的ASP.NET AJAX链接) #
    【原文地址】Video of Scott Guthrie Shooting Private Donut (and some good ASP.NET AJAX links) 【原文发表日期】 Monday, March 05, 2007 11:09 PM 偶尔地,作为我工作的一部分,我有机会做些酷酷的非传统的事情。2个星期前,我在由Rooster Teeth制作的“红方(Red)”对“蓝方(Bl
>>在CodeMash上作的ASP.NET 技巧和诀窍和LINQ讲座的讲义和演示代码 #
    【原文地址】 ASP.NET Tips and Tricks and LINQ Slides/Demos from CodeMash 【原文发表日期】 Sunday, January 21, 2007 7:39 PM 下面是上星期五我在CodeMash大会上作的两个讲座的讲义和演示代码: ASP.NET 2.0 技巧和诀窍 这个讲座涉及ASP.NET UI,AJAX,缓存和部署技巧/诀窍,以及
>>ASP.NET AJAX的好东东:文档下载,后退按钮支持,新的动画控件 #
    【原文地址】ASP.NET AJAX Goodies: Documentation Download, Back Button Support, New Animation Control 【原文发表日期】 Tuesday, February 06, 2007 12:45 AM 发个简短的帖子,特地说一下过去几天内刚发布的几个与 ASP.NET AJAX 1.0 相关的酷下载: ASP.NET A
>>ASP.NET AJAX 1.0 源码发布了 #
    【原文地址】 ASP.NET AJAX 1.0 Source Code Released 【原文发表日期】 Tuesday, January 30, 2007 10:41 AM 就象上个星期ASP.NET AJAX 1.0 发布时我提到的那样,我们公布了ASP.NET AJAX 产品的全部源码。这包括服务器端ASP.NET集成的源码(包括UpdatePanel,UpdateProgress,和Sc

Other Posts:
>>2007 MVP Summit, MS Campus Day
>>Google也来凑热闹-网站导航
>>MSN客户端广告新形式
>>细微之处见功力-看看Gmail是怎么收取POP3邮件的
>>Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器
>>Visual Studio 2005 sp1 中Web Project和Web Site 项目开发站点的启动问题
>>通过实例分析WCF Duplex消息交换
>>这几天微软发布的一些好玩的东西
>>Scott Guthrie射击甜圈列兵的录像(以及一些好的ASP.NET AJAX链接)
>>技巧/诀窍:把ASP.NET安全与经典ASP和非ASP.NET URLs集成
>>邮箱帐号的故事
>>Office SharePoint Server 2007 搜索模块的两个“大”问题


Month Archives:

Top Tags:
Internet Technology Google Search Company & Product Profiles feature column letter analysis comment Search Headlines WebApp咨询 Startups 互联网络 国际政治 业界动态 BigCos 业界信息 播客指南 Google/SEO 抓虾动态 Search Types: Local news Yahoo application 搜索引擎 Web2.0 Yahoo: Search Ads 用户体验 Link Building 金融与投资 播客新闻 Review :: 评论


@2007 All rights Reserved