声明:本文转载

  在本文中,我将跟大家一起讨论,为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就可以这样写:/*

转载于:https://www.cnblogs.com/chenzehe/archive/2009/12/25/1631863.html

向SharePoint页面添加后台代码相关推荐

  1. 登录、注册页面及后台代码

    一.登录页面及后台代码 1.登录页面如图1所示 首先进行身份选择,由"管理员"和"用户"两种身份进行选择,选择不同的身份,程序会进入不同的数据表检索登录信息:当 ...

  2. SpringBoot2.0之七 实现页面和后台代码的热部署

    开发过程中我可能经常会因为修改一点点代码就需要重启项目而烦恼,这样不仅很繁琐,还会因为不断重启浪费大量的时间,无法提高工作效率.可是现在SpringBoot为我们提供了非常简单的方式让我们实现热部署. ...

  3. 页面添加复制代码功能

    简单的"复制代码" 功能 <a href="javascript:" οnclick="CopyCode(document.getElement ...

  4. .net 中,runat=server和页面运行后台指令的冲突现象

    嗯.....一个小小的需要注意的地方 在.net开发中,我们经常使用runat=server,来定义一些控件,来通过后台代码进行这些控件的管理,比如 <asp:Panel>啦,<as ...

  5. Sharepoint页面里添加.net托管代码

    Sharepoint页面里添加.net托管代码 在做Sharepoint门户网站定制时候,可以利用VS集成开发工具编写自定义功能的WebPart或利用VS在可视化环境下开发UserControl然后利 ...

  6. ecshop后台首页mysql_ecshop 添加后台页面以及设置权限

    ecshop 添加新页面 给ecshop后台增加管理功能页面 比如我们增加一个统计报表叫做 物流费用统计报表 放在后台"报表统计"栏目中 具体操作步骤: 第一步,我们要添加一个菜单 ...

  7. wp/wordpress文章页面添加阅读量/点击量,后台并显示阅读量

    我们知道wp主题默认的是不带阅读量这个字段的,所以要想在前端文章页面显示阅读量以及后台文章列表显示阅读量,就需要我们修改functions.php这个文件,接下来分享一下我整理的wp添加阅读量的代码. ...

  8. vue 给页面添加enter回车事件 - 代码篇

    vue 如何给页面添加enter回车事件? 主要代码: @keyup.enter.native="ajaxLoginApi()" 代码示例: <el-form ref=&qu ...

  9. Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery

    我们可能会产生这样的需求,如何在Sharepoint Page中加入jQuery.我们知道,Sharepoint所有的"开箱即用"的主页(如:v4.master, default. ...

最新文章

  1. jmeter 最大时间长_长连接和短连接区别和优缺点
  2. 【MongoDB】增删改查基本操作
  3. Tarjan求lca
  4. 六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享
  5. OKR实施细则(转)
  6. 壹基金,李连杰的长尾理论
  7. 360全景视频panolens.js 实现代码
  8. 依图科技从科创板“退赛”:三年半累计亏损72亿,研发费用高企
  9. 【转】slideUp() 和slideDown() 如何解决反复抖动的问题
  10. 争做“拼购村” 中国“家电之都”有了新致富路
  11. 计算机空格键作用,电脑空格键有哪些作用?你知道几个?
  12. 中秋赏月地图出炉,跟随锦江之星去赏月
  13. spring的工作原理总结
  14. #define可能是个“渣男”
  15. 查看java编程环境是否配置成功
  16. 使用JQuery快速高效制作网页交互特效第五章所有上机
  17. 如何解决c++文件读写流无法读取中文的问题(vc6.0)
  18. 实现一个app的签到功能,没你想的那么复杂!
  19. vue使用cropperjs实现移动端图片裁剪上传组件
  20. 雄迈云服务器ip,中国版各大服务器ip 用于客户端登录

热门文章

  1. bring your mac everywhere you go
  2. 如果有机会,买一个能够兼容多终端的大屏幕是很重要的
  3. github的watch和star的位置
  4. UNITY引擎变量调用产生不必要内存分配
  5. JVM技术周报第2期
  6. 如何添加团队成员,并为团队成员分配访问权限(转载)
  7. URAL 1091. Tmutarakan Exams
  8. CSS z-index 属性
  9. NYOJ 1067 Compress String(区间dp)
  10. StringTokenizer类的使用方法