I'm using the sharepoint's web service (GetListItems) method to get some fields data for list's items, now in addition for the information that i retrieve for an item I need its direct URL, so i can give the user an optional link to click in order to navigate smoothly to that item in the sharepoint website
Here is my code that gets the item's data:
XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
XmlNode ndViewFields =
xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
XmlNode ndQueryOptions =
xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");
var cc = new CredentialCache();
cc.Add(
new Uri(url),
"NTLM",
new NetworkCredential(username, password, domain));
SPListWebService.Credentials = cc;
SPListWebService.Url = url + "/_vti_bin/Lists.asmx";
//Query Options Node
ndQueryOptions.InnerXml =
"<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +
"<DateInUtc>TRUE</DateInUtc>";
//Qyery node
foreach (DataRow row in view.Rows)
{
string v = row[ffdmn].ToString();
ndQuery.InnerXml = string.Format("<Where><Eq><FieldRef Name='{0}'/>" +
"<Value Type='Text'>{1}</Value></Eq></Where>", sfdmname, v);
XmlNode ndListItems =
SPListWebService.GetListItems(listName, null, ndQuery,
ndViewFields, null, ndQueryOptions, null);
foreach (XmlNode node in ndListItems.ChildNodes)
{
if (node.Name == "rs:data")
foreach (XmlNode innerNode in node.ChildNodes)
if (innerNode.Name == "z:row")
{
//I do some logic here to get the targeted fields
}
}
}
Any help?
(Also asked here)