昨天遇到个问题,需要给列表指定一个自定义显示页面。因为自带的displayform.aspx格式比较单一,所以我们重新做了一个表单显示页面,如何将原来默认的displayform.aspx替换成我们自定义的表单页面,主要是根据SPContentType这个类,修改其中的DisplayFormUrl,执行下这个程序就搞定。当然还可以修改其它SPContentType有的属性,这里只是修改其中的DisplayFormUrl。
//提升管理员权限
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//根据指定站点,获取site
SPSite site = new SPSite("http://moss:8000");
SPWeb web = site.OpenWeb();
web.AllowUnsafeUpdates = true;
SPList list = web.Lists["listname"];
SPContentType contentType = list.ContentTypes["contenttypename or index"];
contentType.DisplayFormUrl = "/_layouts/project/CustomDisplayForm.aspx";
contentType.Update();
});