Как я могу получить полный 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();
   }
}
Другие вопросы по тегам