私はSharepointの2010年にSharePoint 2010のクライアントオブジェクトモデル - 現在のリストの名前を取得します
をリボンメニューのためのシンプルなカスタムアクションボタンを作成しようとしている私は、一般的な、それを維持したいので、何のハードコーディングしません
表示されている現在のリストの名前はどのようにして知ることができますか?私はこれがUrlから解析することなく可能であると思います。
多くの感謝!
私はSharepointの2010年にSharePoint 2010のクライアントオブジェクトモデル - 現在のリストの名前を取得します
をリボンメニューのためのシンプルなカスタムアクションボタンを作成しようとしている私は、一般的な、それを維持したいので、何のハードコーディングしません
表示されている現在のリストの名前はどのようにして知ることができますか?私はこれがUrlから解析することなく可能であると思います。
多くの感謝!
それは掘りのビットを取ったが、私は最終的に答えを見つけました。リストのIDをJavascriptで取得するには、
//Get the Id of the list
var listId = SP.ListOperation.Selection.getSelectedList();
あなたはこの
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#のようなものを使用することができますURLを解析するにはSPContextクラス
SPList list = SPContext.Current.List;
string listTitle = list.Title;
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spcontext.aspx
にそれを見つけることができます
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;
}
}
幸運
返信ありがとうございます.Javascriptでこれを行う必要があります。本当に私の元のポストで明確にそのことを述べていないため申し訳ありません! –
もっと良い方法は、javascriptを提供するcodebehindページを持つことです。あなたがjsでそれをやりたいのであれば、var url = window.location; var urlparts = url.split( '/'); –
私はこれが可能ではないと思います。私のカスタムアクションのjavascriptは、私のアプリケーションページのクエリ文字列を構築して、それをSP Modalダイアログを通して開きます。リストページにないので、アプリケーションページのコードビハインドがSPContextを使用してリスト名にアクセスできるとは思いませんか?また、クエリ名で渡されたリスト名を持っている方が意味があります –
共有してくれてありがとう! –