所以...我创建了一个 Sharepoint 插件 (C# MVC) 来获取列表信息和创建/更新项目。我过去已经完成了创建/更新,现在不打算解决这个问题。我的问题是将列表项显示到 MVC 视图中。到目前为止我做了什么 - >我创建了一个模型(类),其中包含我将在表中显示的信息:public class IRFItem{ public string Title { get; set; } public string StartDate { get; set; } public string EndDate { get; set; } //public string CreatedBy { get; set; }}在同一个文件中(为了保持我的测试紧凑),我还添加了一种获取我需要的项目的方法: public static List<IRFItem> GetItems(SharePointContext spContext, CamlQuery camlQuery) { List<IRFItem> items = new List<IRFItem>(); //var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext.Current); using (var clientContext = spContext.CreateUserClientContextForSPAppWeb()) { if (clientContext != null) { List irfList = clientContext.Web.Lists.GetByTitle("IRF"); ListItemCollection irfListItems = irfList.GetItems(camlQuery); clientContext.Load(irfListItems); clientContext.ExecuteQuery(); if (irfListItems != null) { foreach (var irfListItem in irfListItems) { items.Add( new IRFItem { Title = irfListItem["Title"].ToString(), StartDate = irfListItem["StartDate"].ToString(), EndDate = irfListItem["EndDate"].ToString(), }); } }我没有收到任何错误,但我的表总是空的...我什至在 GetItems 中添加了 else 部分来创建一个显示为空的项目,这样我就知道它是与共享点相关的问题还是其他问题。老实说,我的 MVC 经验并不多(一周前才开始学习,但我是那种边做边学的人)。有没有人看到这里有任何问题?我已经遵循了这个教程,并做了我自己的小改动。参考:https : //www.chakkaradeep.com/2013/10/18/building-apps-for-sharepoint-with-mvc/任何类型的提示都将受到高度赞赏,谢谢。编辑:我通过给应用程序更多权限(为了安全起见列出和 web)跳过了错误,我正在返回结果,但是我无法创建项目,因为 executeQuery 没有按时完成。知道如何延迟吗?我记得我在过去的任务中遇到了一个 bigggg 问题,所以我不知道从哪里开始。
2 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
我从调试中看到的几件事。
我会将代码 GetItems() 移动到单独的 Helper 类,然后在其中放置一个断点以查看它是否正在触发。
如果您没有收到任何错误并且返回数据始终为空,那么这意味着代码的某些部分没有得到执行(同步或异步问题?)
千万里不及你
TA贡献1784条经验 获得超9个赞
好的,所以我解决了这个问题(与这个问题斗争了几个小时,这太简单了,我现在想打自己)。
如果有人遇到这个 ->
为什么我的列表没有得到任何项目(即使没有错误)-> 没有给予应用程序足够的权限。通过提供完整列表权限和完整 Web 权限来修复。
为什么我的 foreach 出现错误 -> 显然一列有不同的名称。我通过尝试这段代码发现了这一点(这显然更好,因为它会引发错误,而不像从列表中获取所有内容)->
clientContext.Load(irfListitems, itemss => itemss.Include( item => item["Title"], item => item["StartDate"], item => item["EndDate"] ));
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消