This is my code, but i don't know which is the field for url. Can I get url with a different way?
var f = "<ViewFields>"+
'<FieldRef Name="Title"/>'+
'<FieldRef Name="LinkFilenameNoMenu"/>'+
'<FieldRef Name="Created"/>'+
"</ViewFields>";
It is very easy, but It was hard to find.
var f = "<ViewFields>"+
'<FieldRef Name="ID"/>'+
'<FieldRef Name="Title"/>'+
'<FieldRef Name="LinkFilenameNoMenu"/>'+
'<FieldRef Name="Created"/>'+
'<FieldRef Name="EncodedAbsUrl"/>'+
"</ViewFields>";
$().SPServices({
operation: "GetListItems",
async: false,
listName: list,
CAMLViewFields: f,
CAMLLimit: l,
CAMLQuery: q,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var url = $(this).attr("ows_EncodedAbsUrl")
});
}
});
It works in C# code, you can use the ows_EncodedAbsUrl metadata value:
using (SPSite site = new SPSite(webUrl))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Shared Documents"];
SPListItem item = list.Items[0];
string itemUrl = item["ows_EncodedAbsUrl"].ToString();
}
}