public static ClientSidePage FromHtml(string html) { if (String.IsNullOrEmpty(html)) { throw new ArgumentException("Passed html cannot be null or empty"); } ClientSidePage page = new ClientSidePage(); page.LoadFromHtml(html); return(page); }
public static ClientSidePage Load(ClientContext cc, string pageName) { if (cc == null) { throw new ArgumentNullException("Passed ClientContext object cannot be null"); } if (String.IsNullOrEmpty(pageName)) { throw new ArgumentException("Passed pageName object cannot be null or empty"); } ClientSidePage page = new ClientSidePage(cc); page.pageName = pageName; var pagesLibrary = page.Context.Web.GetListByUrl(page.PagesLibrary, p => p.RootFolder); page.sitePagesServerRelativeUrl = pagesLibrary.RootFolder.ServerRelativeUrl; var file = page.Context.Web.GetFileByServerRelativeUrl($"{page.sitePagesServerRelativeUrl}/{page.pageName}"); page.Context.Web.Context.Load(file, f => f.ListItemAllFields, f => f.Exists); page.Context.Web.Context.ExecuteQueryRetry(); if (!file.Exists) { throw new ArgumentException($"Page {pageName} does not exist in current web"); } var item = file.ListItemAllFields; var html = item[ClientSidePage.CanvasField].ToString(); if (String.IsNullOrEmpty(html)) { throw new ArgumentException($"Page {pageName} is not a \"modern\" client side page"); } page.pageListItem = item; page.LoadFromHtml(html); return(page); }