自定义Sharepoint Server 2010人员选择功能-替换默认点击事件

文章摘要

上篇说到了不想修改默认的系统文件,那么我们就要想办法让用户点击书形图标是打开我们自定义的页面,我们先来看看点击书形图标都做了什么,然后再看看我们能做什么。

点击书形图标做了什么

右键书形图标-检查元素我们可以看到下面这些东西

<a id="ctl00_PlaceHolderMain_ctl00_ctl01_userPicker_browse" title="浏览" onclick="__Dialog__ctl00_PlaceHolderMain_ctl00_ctl01_userPicker(); return false;" href="javascript:">
<img title="浏览" src="/_layouts/images/addressbook.gif" alt="浏览" style="border-width:0px;">
</a>

就是点击的时候调用了一下那个方法嘛!没什么难的,具体那个方法是干啥的,无非就是打开窗口的一些操作。那就好办了,我们就把这个方法替换掉就行了。

替换掉默认方法

代码很简单了,前提要引用Jquery。

$("#控件ID").removeAttr("onclick");

呐,这样写好像没什么用,只是在调试控制台中起作用了,我要的是在运行的时候能够替换,那我应该怎么做呢?整个网站啊,代码写在什么地方能整个网站都能起作用呢?

  1. 模板页,这个不用说了,整个网站都在使用模板页;
  2. 通过Elements.XML,将js代码注册到全局网站;

还是后面这个方法靠谱点,后面这个方法通过开发方式,将代码打包成一个功能,我再想用的时候启用功能,不想用的时候就关闭功能,靠谱…

注册全局JS

Visual Studio 2010,创建一个Sharepoint解决方案,添加项目,空元素。

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
      ScriptSrc="/_layouts/custompicker/PickerAgent.js"
      Location="ScriptLink"
      Sequence="100">
  </CustomAction>
</Elements>

没啥说的,CustomAction咋用我也不清楚,具体的Baidu,Google,Bing,他的功能远远不止这些。

ScriptSrc:js文件的路径,都放到Layouts文件夹下,这个不用问为什么吧;

Location:固定的,告诉Sharepoint这是一个JS;

Sequence:据说这个是个优先级的什么东西,如果两个CustomAction冲突,数值越大优先级越高;

等等,替换方法有了,那个ID我怎么获取到,好像每个控件的那个ID都不一样啊……

获取到控件ID

无废话,直接上代码

$(function () {
    UserPicker();
});

function UserPicker() {
    //找到所有“_userPicker”结尾的控件
    var allUserPickerControl = $("span[id$=‘_userPicker‘]");
    //遍历这些控件
     allUserPickerControl.each(function (index, domEle) {
        //获取用户控件ID
        var userPickerControlID = $(this).attr("id");
        //获取用户控件书形图标的ID
        var userPickerControlPickerID = userPickerControlID + "_browse";
        //移除选人按钮的原有点击事件
        $("#" + userPickerControlPickerID).removeAttr("onclick");
        $("#" + userPickerControlPickerID).unbind();
                //添加新的事件
        $("#" + userPickerControlPickerID).click(function () {
            //打开窗口方法
            OpenPickerUserDialog(userPickerControlID);
        });
    });
}

下面就等着打开自定义窗口了……

时间: 2024-11-05 05:54:37

自定义Sharepoint Server 2010人员选择功能-替换默认点击事件的相关文章

自定义Sharepoint Server 2010人员选择功能-开篇

文章摘要 主要介绍一下Sharepoint现有的人员选择功能和客户需要的人员选择功能.文笔很不好,草草的写一些开发时候遇到的问题,想到哪写到哪.中间可能会穿插一些和人员选择功能无关的东西,主要是为了记录一下,这些东西也是搜索了好长时间才找到的,成果不能就这么丢了. 功能需求 在Sharepoint中选人的时候Sharepoint已经提供给我们一个选人的功能,这个功能并没有将所有人都列出来,可能是为了性能考虑,没必要的人没必要花大力气都列出来,默认的可以使用搜索功能,根据用户名搜索用户,其实这样也

SharePoint Server 2010的移动设备配置方案

随着微软全新一代办公系统Office 2010 的推出,其所支持的移动方案也日渐受到人们的关注,而这些移动功能则是依赖于 SharePoint 2010 的移动性支持.下面就将大家介绍如何设置 SharePoint 服务器环境,以便您可以利用移动访问功能. 微软 SharePoint 2010 支持使用功能手机访问 SharePoint 2010 上的文档.列表和日历,执行人员和文档搜索以及接收有关 SharePoint 内容的短信通知. 利用 Microsoft SharePoint Work

SharePoint Server 2010的安装

环境概述:环境中有三台安装windows server 2008R2的服务器,一台是DC域控制器,一台是安装了SQL Sserver 2008R2的服务器server01-SQL,一台是准备安装Sharepoint server的服务器 Server02-SP 1.为服务器更改名称并把它加入到域中,如图,点确定,输入用户名和密码,成功加入到域后重启计算机 安装.net framework 功能: 2.打开服务器管理器,点击添加功能 3.选择.net framework 3.5.1功能,在跳出的窗

Solving SharePoint Server 2010 - 503. The service is unavailable, After installation

Installed: SharePoint Server 2010 for Internet Enterprise Beta (x64) On: Windows Server 2008 Standard (x64) on 64 bit hardware Attempts to access the Central Administration console led to IIS returning 503. The service is unavailable And this error w

SharePoint Server 2010 删除Web应用程序

SharePoint Server 2010 删除Web应用程序 之前因为测试,在SharePoint服务器上创建了很多Web应用程序(我在本机Win7系统上安装的SharePoint Server),现在需要将部分不重要的Web应用程序删除掉. 在管理中心--管理Web应用程序--选中特定Web应用程序. 点击删除.管理中心弹出框显示: 关于这些选项可能会产生的后果,我还不太熟悉.所以在网络上找了一些相关描述. 微软官方的描述是这样的: 当您删除 Web 应用程序时,您可以选择删除内容数据库和

SharePoint Server 2010 删除Web应用

SharePoint Server 2010 删除Web应用 因为之前的测试.在SharePointserver创建于非常多Web应用(我是在本机Win7系统上安装的SharePoint Server),如今须要将部分不重要的Web应用程序删除掉. 在管理中心--管理Web应用程序--选中特定Web应用程序. 点击删除. 管理中心弹出框显示: 关于这些选项可能会产生的后果.我还不太熟悉. 所以在网络上找了一些相关描写叙述. 微软官方的描写叙述是这种: 当您删除 Web 应用程序时.您能够选择删除

【转】在SharePoint Server 2010中更改&ldquo;我的网站&rdquo;

在安装SharePoint Server 2010的时候,创建的第一个站点是一个"NetBIOS名称"的网站,而这个时候,"我的网站"(或称"个人网站"),也是基于此NetBIOS名称的,例如,如果你的计算机名称是SP2010,则创建的SharePoint网站是http://sp2010,而"我的网站"则是"http://sp2010/my",如果用防火墙(例如ISA Server)将此网站发布到Inter

【SharePoint 2010】将Sharepoint Server 2010部署到WINDOWS 7

1.部署-安装环境: 在这里先说明一下:2007的版本中我们只能装在WINDOWS 2003 SERVER 上,这种限制在2010被彻底打破了.我们可以将它安装在VISTA/WINDOWS 7/SERVER 2008 R2上,这里面只有R2 2008才是真正的生产环境,而前两个只能是程序员的开发环境.由于2008 R2只发布64X的版本,因此暂时在虚机里面还没发安装.我只能装在外面(幸亏是外面的机器是WIN7). 下图是我的安装环境: 下面开始安装(本文中需要的软件下载我会在后面列出来) 前面的

自定义的TextView,使部分内容拥有点击事件,并在点击内容上方出现对应的词义等信息

直接看效果图: 上面图中是一个TextView,注册部分内容(KeyWord)是其拥有点击事件,并通过计算KeyWord的坐标,显示KeyWord的想要的一些信息 /** * 一个TextView中包含一个可以点击的KeyWord(关键词),并通过点击关键词,在对应关键词位置正上方展示关键词对应的解释等逻辑 * @author DuGuang * */ public class MainActivity extends Activity { private KeyWordTextView mTv