讓我們開始編碼
這裡我以一個基本的新聞應用程式為例
-
開啟 SharePoint 開發人員站點並建立一個列表來儲存我們的新聞文章
-
建立自定義列表並新增 3 個列 Body,Summery,ThumbnailImageUrl http://i.stack.imgur.com/mzfSL.jpg
-
返回我們的 SharePoint 應用程式,開啟 AppManifest.xml 檔案,單擊許可權選項卡併為網站集授予讀取許可權並儲存。 http://i.stack.imgur.com/tJ5JI.jpg
-
從 Web 應用程式開啟 HomeController,在我的例子中是一個 MVC 應用程式。如果你要建立一個 webform 應用程式,那麼你的程式碼應該在 default.aspx.cs 頁面中
-
以下是從列表中獲取最新訊息的程式碼段。這就是我們的索引頁面應該如何。
[SharePointContextFilter] public ActionResult Index() { User spUser = null; var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); List<NewsList> newsList = new List<NewsList>(); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { if (clientContext != null) { spUser = clientContext.Web.CurrentUser; clientContext.Load(spUser, user => user.Title); clientContext.ExecuteQuery(); ViewBag.UserName = spUser.Title; List lst = clientContext.Web.Lists.GetByTitle("News"); CamlQuery queryNews = CamlQuery.CreateAllItemsQuery(10); ListItemCollection newsItems = lst.GetItems(queryNews); clientContext.Load(newsItems, includes => includes.Include(i => i.Id, i => i.DisplayName, i => i["ThumbnailImageUrl"], i => i["Summery"])); clientContext.ExecuteQuery(); if (newsItems != null) { foreach (var lstProductItem in newsItems) { newsList.Add( new NewsList { Id = Convert.ToInt32(lstProductItem.Id.ToString()), Title = lstProductItem.DisplayName.ToString(), Summery = lstProductItem["Summery"].ToString(), Thumbnail = lstProductItem["ThumbnailImageUrl"].ToString() }); } } } } return View(newsList); }
-
現在右鍵單擊 Index 並單擊 Add View。然後單擊新增
http://i.stack.imgur.com/v8I6G.jpg
-
現在從 Views> Home 目錄開啟 Index.cshtml 檔案 ****
-
下面是 index.cshtml 檔案的程式碼片段
@model List<SharePointNewsAppWeb.Models.NewsList> @{ ViewBag.Title = "My News - browse latest news"; } <br /> @foreach (var item in Model) { <div class="row panel panel-default"> <div class="col-xs-3"> <a href="/home/aticle?ArticleId=@item.Id"> <img class="img-responsive" style="max-height:200px;max-width:100%;" src="@item.Thumbnail" alt="@item.Title" /> </a> </div> <div class="col-xs-9 panel-default"> <div class="panel-heading"> <h4><a href="/home/aticle?ArticleId=@item.Id">@item.Title.ToUpper()</a></h4> </div> <div class="panel-body"> <p>@item.Summery</p> </div> </div>
-
右鍵單擊解決方案中的 Model 資料夾並新增 CS 類檔案。新增以下模型類
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace SharePointNewsAppWeb.Models { public class NewsApp { } public class NewsList { public int Id { get; set; } public string Title { get; set; } public string Summery { get; set; } public string Thumbnail { get; set; } } public class FullArticle { public int Id { get; set; } public string Title { get; set; } public string Body { get; set; } } }
-
使用 F5 鍵部署和執行載入項。如果你看到安全警報視窗,要求你信任自簽名的 Localhost 證書,請選擇是。
現在第一個應用程式準備就緒