Domanda

Il modello di oggetti di SharePoint fornisce una proprietà di un SPListItem chiamato SPListItem.ModerationInformation.Status per consentire di determinare l'attuale stato di approvazione / moderazione del contenuto se una libreria documenti ha abilitato l'approvazione dei contenuti.La proprietà generacodictagcode è un'istanza del ModerationInformation e class SPModerationInformation è un'istanza del Status .

Come posso lavorare con questi oggetti / proprietà dal modello dell'oggetto laterale client?Il lato client enum SPModerationStatusType non contiene la proprietà ListItem come la sua parte del lato del lato server

È stato utile?

Soluzione

Anche se la classe CSOM ListItem non ha una proprietà ModerationInformation, sono stato in grado di accedere a questo valore attraverso il nome interno del campo:

ListItem item = file.Item;
clientContext.Load(item);
clientContext.ExecuteQuery();

int status = Convert.ToInt32(item["_ModerationStatus"]);
.

e l'enum è definito come:

public enum SPModerationStatusType
{
    Approved, //0
    Denied,   //1
    Pending,  //2
    Draft,    //3
    Scheduled //4
 }
.

Questo mi ha preso dove avevo bisogno di essere.

Altri suggerimenti

    Here is the full list of Internal Column name :

    https://sharepointmalarkey.wordpress.com/2008/08/21/sharepoint-internal-field-names/

public enum Status
{
    Approved, //0
    Denied,   //1
    Pending,  //2
    Draft,    //3
    Scheduled //4
 }

    ListItem item = ctx.Web.Lists.GetByTitle('listname').AddItem(listObj);
    clientContext.Load(item);
    clientContext.ExecuteQuery();
    item["_ModerationStatus"] =  Convert.ToInt32(Status.Approved);
    item.Update();
    ctx.ExecuteQuery();
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top