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

2024-04-15 13:32

本文主要是介绍向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,我们让它在点击的时候取得当前服务器时间赋给ButtonText,如下:

   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就可以这样写:/*

   

   

   

从 <http://www.cnblogs.com/anotherdir/articles/1334939.html> 插入

这篇关于向MOSS页面中添加服务器端代码的另外一种方式 zt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905952

相关文章

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调