欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Moss 2007 的几个编程技巧

程序员文章站 2024-02-14 18:10:46
...

1、提升权限执行的代码 SPSecurity.RunWithElevatedPrivileges(delegate() { // 需要提升权限执行的代码 }); 应用场景:当前用户可能没有权限执行的操作,但系统需要执行这段代码,这样如果不提升代码权限的话. 系统将会报出 拒绝访问错误. 用上述代码可以

1、提升权限执行的代码

SPSecurity.RunWithElevatedPrivileges(delegate()

{

// 需要提升权限执行的代码

});

应用场景:当前用户可能没有权限执行的操作,但系统需要执行这段代码,这样如果不提升代码权限的话.

系统将会报出 拒绝访问错误.

用上述代码可以将其所辖范围内的代码权限提升到最高.

建议:不到万不得以不要使用,因为滥用会把系统的权限搞混.

2、解决一个或多个域类型未正确安装。请转到列表设置页删除这些域

sharepoint列表内部字段的查看方法
SPQuery查询列表查不出结果,提示“一个或多个域类型未正确安装。请转到列表设置页删除这些域”。
原因:
查询的时候,字段名称需要输入字段的内部名称,而不是看到的那个名称
解决方法:
我写了段代码可以把字段以及对应的内部名称列出来,查一下就可以了。


protected void Button2_Click(object sender, EventArgs e)
{
SPWeb site = SPControl.GetContextWeb(Context);
SPListItemCollection items = site.Lists["测试列表1"].Items;
string tmpstr = "";
SPListItem item = items[0];

for (int i = 1; i {
tmpstr = tmpstr+item.Fields[i].ToString()+":" + item.Fields[i].InternalName.ToString()+"

";
}
tmpstr = tmpstr + "



";


Label1.Text = tmpstr;
}

3、解决代码引发 Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem 安全性驗證無效

在更新语句前 

    加上:

      myWeb.AllowUnsafeUpdates = true;//该代码表示允许代码更新