转: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. Could not retrieve mirrorlist http://mirrorlist.centos.org || PYCURL ERROR 6

    yum:Could not retrieve mirrorlist http://mirrorlist.centos.org || PYCURL ERROR 6 通过centos安装openldap的 ...

  2. EXTJS 3.0 资料 控件之 html 潜入label用法

    这是在Extjs 中插入html 控件label! html: "<div><label id='howMany'>您共选中了</label><br ...

  3. Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64-b

    Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色. Armv6.armv7.armv7s.arm64都是ar ...

  4. Delphi XE5 android 获取电池电量

    uses AndroidAPI.JNI.GraphicsContentViewText, AndroidAPI.JNI.JavaTypes, AndroidAPI.JNI.OS; function B ...

  5. 团体程序设计天梯赛-练习集L1-012. 计算指数

    L1-012. 计算指数 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 真的没骗你,这道才是简单题 —— 对任意给定的不超过1 ...

  6. 软件调试之INT 3讲解

    第4章断点和单步执行 断点和单步执行是两个经常使用的调试功能,也是调试器的核心功能.本章我们将介绍IA-32 CPU是如何支持断点和单步执行功能的.前两节将分别介绍软件断点和硬件断点,第4.3节介绍用 ...

  7. 关于PYTHON的反射,装饰的练习

    从基本概念,简单例子才能慢慢走到高级一点的地方. 另外,PYTHON的函数式编程也是我很感兴趣的一点. 总体而言,我觉得OOP可以作大的框架和思路,FP能作细节实现时的优雅牛X. ~~~~~~~~~~ ...

  8. What is the innovator’s solution——什么才是创新的解决方案2

    前略:http://www.cnblogs.com/Kassadin/p/4233497.html 案例1 从书上的一个案例开始: 让我们来看看AT&T公司(美国电话电报公司)的案例吧.198 ...

  9. poj 2976 Dropping tests 0/1分数规划

    0/1分数规划问题,用二分解决!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> # ...

  10. 【BZOJ 1046】 1046: [HAOI2007]上升序列

    1046: [HAOI2007]上升序列 Description 对于一个给定的S={a1,a2,a3,-,an},若有P={ax1,ax2,ax3,-,axm},满足(x1 < x2 < ...