jxli

导航

Moss 几个编程技巧

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 < item.Fields.Count; i++)
            {
                tmpstr = tmpstr+item.Fields[i].ToString()+":" + item.Fields[i].InternalName.ToString()+"<br><br>";
            }
            tmpstr = tmpstr + "<br><hr><br>";


        Label1.Text = tmpstr;
    }

 

3、解决代码引发  Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem 安全性验证无效

在更新语句前 

    加上:

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

posted on 2014-03-27 23:29  jxli  阅读(246)  评论(0编辑  收藏  举报