使用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>

你可能感兴趣的:(SharePoint)