Как я могу получить полный URL от SPListItem (текущий элемент)?
Это мой код, но я не знаю, какое поле для URL. Могу ли я получить URL другим способом?
var f = "<ViewFields>"+
'<FieldRef Name="Title"/>'+
'<FieldRef Name="LinkFilenameNoMenu"/>'+
'<FieldRef Name="Created"/>'+
"</ViewFields>";
1 ответ
Решение
Это очень легко, но трудно было найти.
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")
});
}
});
Он работает в коде C#, вы можете использовать значение метаданных ows_EncodedAbsUrl:
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();
}
}