首页 > 其他分享 >向MOSS页面中添加服务器端代码的另外一种方式 zt

向MOSS页面中添加服务器端代码的另外一种方式 zt

时间:2023-06-08 19:01:48浏览次数:53  
标签:Load 服务器端 代码 添加 MOSS zt 页面


   在本文中,我将跟大家一起讨论,为MOSS的页面添加服务器端代码的另一种方式。不过首先要声明,这种方式仅作为技术研究,如要使用,请慎重!

    在上一篇文章中,我们讨论过如何为MOSS页面添加服务端后台代码,详见(MOSS 2007开发日记(2) - 为sharepoint页面添加后台代码,http://bbs.winos.cn/thread-36766-1-1.html),这种方式是通过将代码生成为一个DLL,然后与对应的页面进行绑定,类似于ASP.NET中的Code-Behind,而我们知道,在用ASP.NET进行开发的时候,可以通过在页面上添加<script runat="server"></script>直接使用服务器端代码,那在MOSS页面中可不可以呢?既然是基于ASP.NET 2.0,那就没什么问题。偶然在一老外的博客上看到了一篇介绍如何在MOSS页面上使用<script runat="server"></script>代码块,详见:SharePoint 2007: using ASP.NET server side code in your pages,那我们就可以发挥一下,比如写一个page_load,给button托管一个Click事件等等,下面就来详细介绍。

    我们知道,直接在MOSS页面上添加<script runat="server"></script>代码块,会提示我们"处理XXXX时出现错误。此文件中不允许使用代码块"。怎么办呢?我们来修改一下web.config,在<PageParserPaths></PageParserPaths>中添加一行(默认这个节点中没有内容):

<PageParserPath VirtualPath="/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>

请将VirtualPath对应的路径改为你自己相应的页面路径,如上面这种写法,我是在/_catalogs/masterpage/下的母版页中进行测试。保存并重启ISS后,我们就可以在页面中添加<script runat="server"></script>代码块了。

    扩展一下。比如我们想使用页面的Page_Load事件,可以这样来写(我用C#作示例):先添加<script type="text/c#" runat="server"></script>代码块,再在代码块中添加

protected void Page_Load(object sender, EventArgs e) 
   { 
   }

这样我们就可以在页面Load的时候做一些想做的事情。比如给页面上一服务器端Button控件托管单击事件,随便向页面中添加一个Button按钮,如下:

<asp:Button ID="button1" runat="server" Text="click me"></asp:Button>

在上面我们添加的Page_Load中这样写:

protected void Page_Load(object sender, EventArgs e) 
{ 
       this.button1.Click += new EventHandler(b1_Click); 
}

然后再添加事件处理代码b1_Click,我们让它在点击的时候取得当前服务器时间赋给Button的Text,如下:

 

void b1_Click(object sender, EventArgs e) 
   { 
     this.button1.Text=DateTime.Now.ToString(); 
   }

返回页面,单击按钮,你就可以看到效果了。这只是做一个示例,其它的就看大家自由发挥了。

关于这方面的资料比较上,老外的博客上只列出了两篇,感兴趣的朋友可以看一下:   

http://msdn2.microsoft.com/en-us/library/ms562040.aspx

http://msdn2.microsoft.com/en-us/library/ms551625.aspx.

    再次提醒大家一下,使用这种方式添加服务器端代码极不安全,任何拥有编辑页面权利的人都可以通过这种方式在页面中使用服务器端代码,请慎重使用。

你可以用你的母版页来测试~

或者可以直接用designer打开站点在根路径下添加一个aspx页面,这样VirtualPath就可以这样写:/*

   

   

   

标签:Load,服务器端,代码,添加,MOSS,zt,页面
From: https://blog.51cto.com/u_4506734/6442299

相关文章

  • 利用MOSS的SSO实现单点登陆[代码]-zt
    在这部分中,我将向大家介绍怎么来取得存放在SSO数据库中的用户名和密码,并使用它们进行POST提交登陆。  思路是这样的,在MOSS中创建一个aspx页面,重写这个页面的Page_Load事件,也许你会说,MOSS页面里不能使用服务器端代码,鸡蛋石头飞来~~~呵呵,关于这方面的介绍,请参考我的另一个帖子......
  • 在MOSS中直接嵌入ASP.NET Page zt
    在MOSSDocumentLibrary中的Page,有BasicPage和WebPartPage两种,前者更多的体现WCM特性,后者则更侧重体现Portal特性。不管是BasicPage还是WebPartPage,都是直接和MOSS本身结合非常密切,都直接采用Site中的MasterPage。如果我们想把一个普通的ASP.NETPage也加到MOSS站点里运行,......
  • git服务器端安装并和客户端git连接
    接下来我们将以Centos为例搭建Git服务器。1、安装Git$yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develperl-devel$yuminstallgit接下来我们创建一个git用户组和用户,用来运行git服务:$groupaddgit$useraddgit-ggit2、创建证......
  • Windows服务器如何查看服务器端口是否开放?
    在工作中处理服务器故障问题的时候,经常需要检测一下Windows的服务器业务端口是否开放,是否能正常与外面通讯。今天我与大家分享一下如何在windows环境下检测服务器端口是否开放,方法很简单。1、以Windows2008系统为例,先检查是否有安装telnet功能,有的服务器默认没有telnet功能,运行-cm......
  • Rust Web 全栈开发之编写服务器端 Web 应用
    RustWeb全栈开发之编写服务器端Web应用项目结构和功能WebApp教师注册<->WebService主要技术模板引擎:Tera创建项目wsonmainvia......
  • ZT 前哈工大教授开发的ChatALL火了
    https://www.thepaper.cn/newsDetail_forward_23143443前哈工大教授开发的ChatALL火了!可同时提问17个聊天模型,ChatGPT/Bing/Bard/文心/讯飞都OK关注前沿科技 量子位 2023-05-1908:13 发表于北京收录于合集#2023科技圈都在关注204个#GitHub热榜2个丰色发自凹非寺......
  • 阿里云轻量应用服务器端口开通教程
    阿里云轻量应用服务器端口怎么开启?轻量应用服务器端口在防火墙中打开,云服务器ECS端口在安全组中开启,阿里云百科以80端口为例来详细说下阿里云轻量应用服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:轻量应用服务器开通端口教程1、登录到轻量......
  • 阿里云ECS服务器端口怎么打开?在安全组开通
    阿里云服务器ECS端口怎么打开?云服务器ECS端口在安全组中开启,轻量应用服务器端口在防火墙中打开,阿里云百科以80端口为例,来详细说下阿里云服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:云服务器ECS端口开通教程阿里云ECS服务器的端口设置是在......
  • ZTB
    IntroductionHistoryQueryFindFieldNameGetdatafromHANAEditMassChangeChangeLogsADBCQuery單表查詢/維護接入IntroductionT-code:ZTBProgram:ZRTBTable查詢/修改(僅適用addontable)/LOG/ADBC查詢目前關閉ALVSaveLayout功能HistoryVers......
  • c# mqtt高性能服务器端源代码。 你还在使用第三方服务软件吗?不如试试这
    c#mqtt高性能服务器端源代码。你还在使用第三方服务软件吗?不如试试这个开发框架,助你一臂之力,无限制,无全开源,无版权约束,全是自主开发。开源框架包括服务器和客户端,支持mqtt3.0及5.0。可嵌入到自己的服务系统及软件客户端中,不受第三方约束。你要问我稳定性如何?我能回答的是已经运行......