转:http://www.cnblogs.com/sygwin/archive/2011/11/04/2236678.html

如何使用自定义的aspx页(比如Application Page)替换列表默认的NewForm.aspx, DispForm.aspx 和 EditForm.aspx的页面?如果你只是更改这些页面的界面,那么推荐使用SPD2010和InfoPath,它们更快速便捷。唯一的缺点是使用这些工具不能自定义后台代码(也许可以,只是我不会)。下面是我用的解决方案:

1.假设创建好三个Application Page分别叫newform.aspx, dispform.aspx 和
editform.aspx。它们放在Layouts目录下。

再假设我的列表叫:My List。

2.你可以使用控制台应用程序或者WinForm应用程序。这里我使用一个可视webpart。在ascx页面上放在一个按钮,按钮的Click事件里下如下代码:

SPWeb web = SPContext.Current.Web;
//启用非安全更新
web.AllowUnsafeUpdates = true;
//获取列表
SPList list = web.Lists["My List"];
//获取列表的内容类型
SPContentType ct = list.ContentTypes["Item"];
//设置内容类型的属性
ct.EditFormUrl = "_layouts/editform.aspx";
ct.NewFormUrl = "_layouts/newform.aspx";
ct.DisplayFormUrl = "_layouts/dispform.aspx"; ct.Update();
list.Update();

上面的代码原理很简单,就是获取列表的内容类型。而SPContentType类有EditFormUrl,NewFormUrl,DisplayFormUrl属性。通过更新这三个属性可以满足我们的需求。

注意:1.关于内容类型Item,如果你的SharePoint 2010是中文版,请改成:项目。否则会收到未将对象引用设置到实例的错误。

关于内容类型的继承,参考:http://www.cnblogs.com/Sunmoonfire/archive/2008/06/25/1229875.html

2.如果你想改成默认,请用下面的url替换上面的url.

/Lists/[列表标题]/NewForm.aspx;

/Lists/[列表标题]/DispForm.aspx;

/Lists/[列表标题]/EditForm.aspx;

(注意,关于[列表标题]的替换原则:如果你的列表标题是英文名,那么就替换成对应的英文即可。如果列表标题是中文名,请替换成list+数字 具体请看列表所有项目视图地址栏URL)

3.关于代码的使用方法,正如我前面说的你可以使用控制台应用程序,也可以使用WinForm应用程序,甚至像我使用一个webpart。代码只是改变指定列表的内容类型三个属性,一旦更改成功,代码就无用了。

另外,上面的代码只是改变列表My List的内容类型属性,不会影响其他列表。不过,如果你使用下面的代码可能会改变所有的。

SPWeb web = SPContext.Current.Web;

web.AllowUnsafeUpdates = true;

SPContentType ct = web.ContentTypes["Name Of Your Content Type"];

ct.EditFormUrl = "_layouts/editform.aspx";
ct.NewFormUrl = "_layouts/newform.aspx";
ct.DisplayFormUrl = "_layouts/dispform.aspx"; ct.Update();

本文参考:http://blog.qumsieh.ca/2009/05/15/how-to-change-the-default-editform-newform-and-dispform/

由于写本文时,本人并没有sharepoint 环境,所以本文并没有完全一一验证。仅供参考。

SharePoint 2010 使用自定义aspx页面替换列表默认的新建(NewForm.aspx),查看(DispForm.aspx)和编辑(EditForm.aspx)页面的更多相关文章

  1. sharepoint 2010 在自定义列表的字段上增加功能菜单

    sharepoint 2010 在自定义列表的字段上增加功能菜单方法 打开sharepoint designer 2010,找到需要修改的视图页面,例如allitem.aspx,编辑这个页面,点击高级 ...

  2. sharepoint 2010 使用自定义列表模版创建列表(2)

    前面用的方法是通过界面上操作,根据自定义模版,创建的列表.sharepoint 2010 使用自定义列表模版创建列表(1) 这里顺便记录多另一种方法,通过程序来创建. ---------------- ...

  3. SharePoint 2010/2013 隐藏的速度下拉菜单列表项

    SharePoint 2010/2013 隐藏的速度下拉菜单列表项         有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML ...

  4. sharepoint 2010 创建自定义的ASP.NET Web Service (上)

    项目背景 根据客户需求在SharePoint 2010 中创建自定义的ASP.NET Web Service可以分为3种方式(我所知道的).废话少说,下面一一列举: 创建方式 MSDN 官方博客自己的 ...

  5. sharepoint 2010 使用自定义列表模版创建列表(1)

    我们在使用sharepoint的过程中,发现一个比较好用的功能,就是“将此列表另存为模版”(save list as template),这个功能的作用是,创建一个和当前列表或者文档库一模一样的配置, ...

  6. django 自定义用户表替换系统默认表

    首先新建一个users应用,编写这个应用的models类. from django.contrib.auth.models import AbstractUser class UserProfile( ...

  7. 使用SharePoint 2010 母版页

    SharePoint 2010母版页所用的还是ASP.NET 2.0中的技术.通过该功能,实现了页面框架布局与实际内容的分离.虽然在本质上自定义母版页的过程和以前版本的SharePoint大致相同,但 ...

  8. 使用SharePoint 2010的母版页

    转:http://tanyanbo2.blog.163.com/blog/static/97339159201111591458902/ SharePoint 2010母版页所用的还是ASP.NET ...

  9. 关于SharePoint 2010体系架构的几个话题

    转:http://www.cnblogs.com/chenxizhang/archive/2011/12/18/2291658.html?ADUIN=85650109&ADSESSION=13 ...

随机推荐

  1. 云主机上搭建squid3代理服务器

    目录 目录 具体流程 修改配置文件 问题 维基整理 代理服务器 Squid (软件) SOCKS SOCKS代理 参考:http://raysmond.com/node/79 具体流程 在服务器上安装 ...

  2. 友盟分享在appdelegate中的调用语句举例

    //友盟 [UMSocialData setAppKey:UmengAppkey]; [UMSocialConfig setSupportedInterfaceOrientations:UIInter ...

  3. redis 在windows 上的安装与使用

    1.redis-windows 最近在做一个抢拍模块,由于过于平凡的insert与update I/O受不了,故只好把东西放内存里,等拍卖结束了,在写入磁盘. 至于为什么要用window呢? 因为服务 ...

  4. Android ListView相关 fastScrollEnabled

    1.android:fastScrollEnabled="true" 当数据量比较多的时候,右侧会出现一个可以拉动的滚动条,这样可以很快的拉动,如图:

  5. OSharp框架总体设计

    OSharp框架解说系列(1):总体设计 〇.前言 哈,距离前一个系列<MVC实用构架设计>的烂尾篇(2013年9月1日)已经跨了两个年头了,今天是2015年1月9日,日期已经相映,让我们 ...

  6. N-Queens leetcode java

    题目: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two que ...

  7. SQLite入门与分析(三)---内核概述(1)

    写在前面:从本章开始,我们开始进入SQLite的内核.为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很重要.SQLite的内核实现不是很难,但是也不是很简单.总的来 ...

  8. MSSQLServer基础01(数据类型)

    数据库设计:范式 现阶段,必须遵守满足3NF 1范式:列的原子性,即列不可再拆分 2范式:表中不能描述多个信息,不能有数据冗余 3范式:引用其它表的主键信息 数据类型的意义: 1>提高效率.(减 ...

  9. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  10. WPF控件模板和数据模板

    来自:http://www.th7.cn/Program/WPF/2011/12/21/51676.shtml ControlTemplate用于描述控件本身. 使用TemplateBinding来绑 ...