如果您正在使用SharePoint中的客户端对象模型,并且访问尚未初始化或已由其检索的属性
Context.Load(property);
Context.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
你得到一个例子:
Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException
要么
该集合尚未初始化.它没有被请求或者请求没有被执行.
例外.
如果已经初始化/检索这些属性,是否有任何正确的方法可以检查它们?没有Try/Catch方法.我不喜欢那个人.
我想在抛出异常之前检查并处理它.
我已经查过了
方法,但他们没有帮助.IsPropertyAvaiable仅检查标量属性,并且不会给出结果,例如Web.Lists,虽然未初始化IsObjectPropertyInstantiated,Web.Lists但返回true Web.Lists.
我正在尝试从Rest Call中过滤我的结果.
$.ajax({
type: "GET",
headers: {
"Accept": "application/json;odata=verbose"
},
dataType: "JSON",
url: _spPageContextInfo.webServerRelativeUrl + "/_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$startswith('Title','" + request.term + "') eq true",
success: function (data) {
},
error: function (ex) {
}
});
Run Code Online (Sandbox Code Playgroud)
在我的联系人列表中,我正在尝试检索以字符串开头或在其中包含字符串的项目的标题和ID,例如,这是某人的姓名.
我也尝试过substringof:
"/_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$substringof(" + request.term + ",'Title') eq true"
Run Code Online (Sandbox Code Playgroud)
这也提供了相同的结果.
它为我提供了列表中的所有列表项,并且未应用过滤.我在看这里之后构建了Url for the Rest 使用SharePoint 2013 REST服务进行编程 就像在那里给出的Schema一样,我认为Url看起来不错,但似乎不是这样:)
编辑:
$filter在OData Uri约定中应用类似的方法给出了以下错误:
{"error":{"code":"-1, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The query is not valid."}}}
Run Code Online (Sandbox Code Playgroud)
尝试使用以下查询字符串:
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof(m,'Title') eq true
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof('m','Title') eq true
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof('m',Title) eq true
Run Code Online (Sandbox Code Playgroud) 如何从特定列表项获取字段值.在我的情况下,我想获得Workplan列表的所有表单文件.实际上我想获得Workplan所有列表项并插入到sharepoint 2013关联数据库.
我尝试以下代码.
string strUrl = "http://example.com/default.aspx";
using (SPSite site = new SPSite(strUrl))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists[52];
SPQuery myquery = new SPQuery();
myquery.Query = "";
SPListItemCollection items = list.GetItems(myquery);
foreach (SPListItem item in items)
{
if (item != null)
{
var Name = item.ListItems.Fields.List;
Console.WriteLine("Name is :" + Name);
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 所以,我正在维护一个前同事做的软件。他使用 xsd 为他的报告和其他内容创建 TableAdapter。
问题是,我需要添加一个新的 TableAdapter 并且出现上述错误。它还说“与 SQL Server 建立连接时发生与网络相关或特定于实例的错误”。
我在这里不知所措,我不知道该怎么办。以下是事实:
我有点迷茫,我已经在这上浪费了 2 天。我已经尝试了我所知道的很少,但没有任何效果。我希望我能在你的智慧中找到帮助。
很抱歉这篇长文章,但我想一次性提供尽可能多的信息。







是的,我是那个白痴.但我确实只在Pending Changes面板中选择了我要撤消的文件.它打开了一个新的对话框,我错误地假设它只包含我在主面板中做出的选择.我说要撤消一切和presto!一堆我不想撤消的东西被撤消了(很像毛衣歌.我是一个工具).所以我的问题是:无论如何要恢复我解除的工作?
我在使用SharePoint 2013 REST API时在指定的文件夹中添加ListItem时遇到问题.
使用客户端对象模型,它看起来像这样:
var creationInfo = new SP.ListItemCreationInformation();
creationInfo.FolderUrl = "/Lists/MyList/MyFolder";
var item = list.addItem(creationInfo );
item.update();
ctx.executeQueryAsync(
Function.createDelegate(this, onSuccess),
Function.createDelegate(this, onFail));
Run Code Online (Sandbox Code Playgroud)
但是当我试图通过Rest服务设置FolderUrl时
{ '__metadata' : { 'type': 'SP.Data.MyListListItem' }, 'Title': 'NewItemInFolder', 'FolderUrl': '/sites/example/Lists/MyList/MyFolder' }
Run Code Online (Sandbox Code Playgroud)
我得到了一个400 Bad Request
我还尝试首先将ListItem添加到List中,然后更新FolderUrl但这也不起作用.
如何使用Rest-Api将ListItem添加到SharePoint中的列表文件夹?
编辑:
{ '__metadata' : {
'type': 'SP.Data.MyListListItem',
'type': 'SP.Data.ListItemCreationInformation'
},
'Title': 'NewItemInFolder',
'FolderUrl': '/sites/example/Lists/MyList/MyFolder'
}
Run Code Online (Sandbox Code Playgroud)
我现在尝试使用ListItemEntityTypeFullName我的List中的Entity和ListItemCreationInformation,但我也只得到400 Bad Request.
当我向Fiddler查询请求时,我发现SharePoint现在忽略了我的列表实体类型 SP.Data.MyListItem
我有一个字符串数组,来自分裂的字符串
string[] newName= oldName.Split('\\');
newName.Last().Replace(newName.Last(), handover);
Run Code Online (Sandbox Code Playgroud)
为什么这不会替换我在Array中的最后一个元素?
last()来自使用linq
问候
我正在为一些BusinessObjects编写几个扩展方法
例如:
public static IBusinessObject GetBusinessObjectById<T>(this IBusinessObject businessObject, int id)
Run Code Online (Sandbox Code Playgroud)
现在,如果我创建一个类:
public class Topic : IBusinessObject
Run Code Online (Sandbox Code Playgroud)
然后我可以拨打我的分机:
topic.GetBusinessObjectById<Topic>(id);
Run Code Online (Sandbox Code Playgroud)
然而那是工作的东西,现在我试着写一个专注于List<IBusinessObject>以下内容的扩展:
public static List<T> GetItems<T>(this List<IBusinessObject> list)
Run Code Online (Sandbox Code Playgroud)
然后创建一个新的List:
List<Topic> topics = new List<Topic>();
Run Code Online (Sandbox Code Playgroud)
topics.GetItems<Topic>(); 给出了错误
List<Topic>不包含GetItems的定义
如何编写一个扩展方法,该方法侧重于已实现我的接口的类的List实例?
我正在尝试从我的客户端应用程序(WPF应用程序)向SharePoint Online(基于声明的Auth站点)发送Post请求.在这种情况下,它应该是对ListItem的更新,以将'Title'更改为'Test'.
我正在通过MsOnlineClaimsHelper类检索CookieContainer, 它成功地返回了一个身份验证令牌.
但是,当我尝试发送请求时,响应是 The remote server returned an error: (403) Forbidden.
WebRequest代码
try
{
var claimshelper = new MsOnlineClaimsHelper(baseUrl, _userName, _password);
var request = (HttpWebRequest)WebRequest.Create(baseUrl + "/" + url);
request.CookieContainer = claimshelper.CookieContainer;
request.Method = "POST";
request.Headers.Add("X-HTTP-Method", "MERGE");
request.Headers.Add("If-Match", "*");
request.Accept = "application/json;odata=verbose";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Flush();
}
var webResp = request.GetResponse() as HttpWebResponse;
var theData = new StreamReader(webResp.GetResponseStream(), true);
string payload = theData.ReadToEnd();
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
休息网址:
/_api/lists/getbytitle('SampleList')/items(1) …
如何设置 QTabWidget 的样式,如下图所示。
问题是:如果我设置样式表
QTabWidget:pane {
border: 1px solid gray;
}
Run Code Online (Sandbox Code Playgroud)
然后它看起来像这样:
我有一个通过HierarchicalDataTemplate绑定的TreeView
<HierarchicalDataTemplate x:Key="HierachrTree" DataType="{x:Type src:Ordner}" ItemsSource="{Binding UnterOrdner}">
<TextBlock Text="{Binding OrdnerName}"/>
</HierarchicalDataTemplate>
Run Code Online (Sandbox Code Playgroud)
多数民众赞成我的TreeView:
<TreeView Name="DokumentBrowser" ItemTemplate="{StaticResource HierachrTree}"
Run Code Online (Sandbox Code Playgroud)
现在我想得到第一个节点并将IsExpanded属性设置为false.
我试过这种方式
ItemCollection ic = DokumentBrowser.Items;
TreeViewItem tvi = (TreeViewItem)ic.GetItemAt(0);
tvi.IsExpanded = false;
Run Code Online (Sandbox Code Playgroud)
但我无法将Object强制转换回TreeViewItem以获取IsExpanded属性.
我目前正在尝试扩展方法.我的目标是List的扩展方法,它在指定的索引之后找到适合集合中给定元素的第一个元素.
public static class Extensions
{
public static T FindFirstAfterIndex<T>(this List<T> list, int index, T item) where T : class where T : struct
{
return list.Skip<T>(index).Where<T>(result => result == item).First<T>();
}
}
Run Code Online (Sandbox Code Playgroud)
所以这适用于T类对象.
我也尝试过:
public static T FindFirstAfterIndex<T>(this List<T> list, int index, T item) where T : class
where T : struct
{
return list.Skip<T>(index).Where<T>(result => result == item).First<T>();
}
Run Code Online (Sandbox Code Playgroud)
我是非常新的通用的东西,所以我怎么能定义我的where子句也接受List<int>呢?
马克
c# ×8
rest ×3
arrays ×1
csom ×1
generics ×1
javascript ×1
jquery ×1
odata ×1
qstylesheet ×1
qt ×1
qtabwidget ×1
replace ×1
sharepoint ×1
sql-server ×1
string ×1
tfs ×1
treeview ×1
wpf ×1