使用SharePoint Web Serivce(3)--Add a new Item with HyperLink and User Type Column

  前面的两篇,讲了如何创建 修改一个list item.但是在这些item中,我们都只是使用了简单的Text类型的Field,如果我们使用一些相对复杂的Field,改怎么做,例如HyperLink 和User Type的column.

     先讲HyperLink type的Field.如果先前有使用过Object Model去读取一个Hyperlink Type的Field,就会发现,如果用ToString(),就会得到一个"url,description"格式的字符串.所以,这也是我们在XML要用到的格式.

 string strBatch = @"<Method ID='1' Cmd='New'>
                                <Field Name='Title'>Sample Title</Field>
                                <Field Name='Url'>http://www.microsoft.com, Microsoft Site</Field>

                                </Method>";

  使用User Type的Field就稍微麻烦一点.如果你看过Object Model读取的User Field的值,就会发现是一串值就像"ID;#domain\\account....",但是在web service中,没有那么麻烦 只要"ID;domian\\account",所以,我们要先得到ID值,因此我们要用到另外一个Web Service  Usergroup.asmx

 

UserGroupWebService.UserGroup ugService=new UserGroupWebService.UserGroup();
 
XmlNode ugNode
=ugService.GetUserInfo("Server\\LoginName");
            XmlDocument ugdoc 
= new XmlDocument();
            ugdoc.LoadXml(ugNode.OuterXml);
            XmlNodeList ugList 
= ugdoc.GetElementsByTagName("User");

            string id = ugList[0].Attributes["ID"].Value;

然后如以下格式:

<Field Name='User'>ID;#domian\\account</Field>

posted @ 2009-04-27 14:45  jdxyw  阅读(497)  评论(0编辑  收藏  举报