javascript - Sharepoint 2010 Client Object Model - Hämta namnet på den aktuella listan
Jag försöker skapa en enkel anpassad åtgärdsknapp för bandmenyn i Sharepoint 2010.
Jag vill hålla det generiskt, så ingen hårdkodning av biblioteknamn etc.
Hur kan jag ta reda på namnet på den aktuella listan som visas? Jag skulle tro att detta är möjligt utan att behöva analysera det från URL:en.
Stort tack!
Svar #1
Det tog lite grävande, men jag hittade svaret till slut. Du kan få listans Id i Javascript genom att använda:
//Get the Id of the list
var listId = SP.ListOperation.Selection.getSelectedList();
Svar #2
Du kommer att hitta det i SPContext-klassen
SPList list = SPContext.Current.List;
string listTitle = list.Title;
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spcontext.aspx
För att tolka URL:en kan du använda något liknande detta
VB.NET
Private Function TryGetListName() As String
If String.IsNullOrEmpty(Me.ListName) Then
Dim path() As String = Me.Page.Request.Url.AbsolutePath.Trim("/"c).Split("/"c)
Dim listName As String = String.Empty
For i As Integer = 0 To path.Length - 1
If path(i).ToLower = "lists" Then
If i < path.Length - 1 Then
listName = path(i + 1)
End If
Exit For
End If
Next
Return listName
Else
Return Me.ListName
End If
End Function
C#
private string TryGetListName()
{
if (string.IsNullOrEmpty(this.ListName)) {
string[] path = this.Page.Request.Url.AbsolutePath.Trim('/').Split('/');
string listName = string.Empty;
for (int i = 0; i <= path.Length - 1; i++) {
if (path[i].ToLower() == "lists") {
if (i < path.Length - 1) {
listName = path[i + 1];
}
break;
}
}
return listName;
} else {
return this.ListName;
}
}
Lycka till
