惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
A
About on SuperTechFans
G
Google Developers Blog
B
Blog RSS Feed
F
Fortinet All Blogs
WordPress大学
WordPress大学
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
Jina AI
Jina AI
IT之家
IT之家
P
Proofpoint News Feed
美团技术团队
量子位
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
B
Blog
有赞技术团队
有赞技术团队
U
Unit 42

博客园 - moge

新建的网站 八方达物流网 How to Implement an Automatic Sliding Window in a Partitioned Table on SQL Server 2005 SQL Server 2005 Partitioned Tables and Indexes 如何估算数据库的大小 MSDN链接 Enabling Change Data Capture SQL Server 操作集锦 转一篇很经典的房价文章 在SharePoint中激活Page Library功能 Database Coding Standard and Guideline 计算机电子书免费下载列表 3 计算机电子书免费下载列表 2 计算机免费电子书下载 1 国外可以赚钱的免费硬盘 推荐一个下载电子书的网站 不需要注册 Javascript中的apply和call函数 ASP.NET AJAX客户端生命周期分析(实践篇)(2) 继承CollectionBase的类的xml序列化 101个设计模式 Design Patterns
用C#操作Person or Group列在SharePoint中
moge · 2009-02-28 · via 博客园 - moge

Posted on 2009-02-28 15:26  moge  阅读(360)  评论()    收藏  举报

确定你添加了 Windows SharePoint Services dll 引用. 代码如下...

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
namespace UserNameListTester
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SPSite siteCollection = new SPSite("http://localhost");
                SPWeb mySite = siteCollection.OpenWeb("/");
                SPListItemCollection listItems = mySite.Lists["UserNameListTester"].Items;
                Console.WriteLine("Read in the existing values****************************");
                for (int i = 0; i < listItems.Count; i++)
                {
                    SPListItem item = listItems[i];
                    Console.WriteLine(item["PersonOrGroupColumn"].ToString());
                }
                Console.WriteLine("Writing new values**************************************");
                for (int i = 0; i < listItems.Count; i++)
                {
                    SPListItem listItem = listItems[i];
                    //listItem["Created By"] = mySite.Users["domain\\cornwell"];
                    // get the current logged on user,SPUser 类型
                    string currentUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
                    listItem["Created By"] = mySite.Users[currentUser];
                    listItem.Update();
                }
                Console.WriteLine("Read out changed values*******************************");
                for (int i = 0; i < listItems.Count; i++)
                {
                    SPListItem item = listItems[i];
                    Console.WriteLine(item["PersonOrGroupColumn"].ToString());
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Shit: " + ex.Message.ToString() + ex.Source.ToString() + ex.ToString());
            }
            finally
            {
                string foo = Console.ReadLine();
            }
        }
    }
}