HI,
是否有任何'正确'的方法将XElement转换为C#中的XmlNode - LinqToXML使以编程方式构建所需的XML变得很好,但SharePoint Web服务需要XmlNode,那么混合和匹配的最佳方式是什么?
我已经定义了一个布尔属性,如下所示:
[Browsable(true), Category("Display"), DefaultValue(false),
WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"),
Description("")]
public bool ObeyWorkflow { get; set; }
Run Code Online (Sandbox Code Playgroud)
我希望它在webpart的属性工具箱中呈现为一个复选框,但它不显示.我的Web部件派生自Sharepoint WebPart基类.
我在Visual Studio 2010中创建了一个新的sharepoint项目,并且错误地将它作为沙盒解决方案,在完成我的开发之后它不会构建,因为我正在向控制模板添加项目,并且它说我需要将项目作为场解决方案,所以如何更改eproject类型?
我在Sharepoint 2010中创建了一个Webpart,我需要将"Chrome Type"属性设置为"None"值.
我一直在寻找各种方法来强制组合框为"无",或覆盖在C#类的"Chrome类型",但我没有发现任何方式做他们.设置此属性的最佳方法是什么?

我有一个循环遍历文档库,如下例所示.
foreach (SPListItem item in DocumentLibrary)
{
}
Run Code Online (Sandbox Code Playgroud)
如何判断SPListItem文件是文件还是文件夹?
我正在创建一个多文件上传.在我构建文件列表的验证过程中(在提交之前),第一个动态创建的<form>将按预期提交和工作,但其他动态创建<form>的不会. 这在IE7 +或FireFox中不起作用......
另请注意,此代码在SharePoint 2007中,以防任何人可以指出任何限制!谢谢!
用例
<input type="file" />控制是隐藏的.<form>围绕<input type="file" />,并增加了新<iframe>的形式被引用作为target为响应并提交表单.<iframe>(响应)中,用户看到类似Winter.jpg |的内容 10 KB | (x)删除clone()的所述<input type="file" class="uploader" />控制和append()'它S到<div>在情况下,用户期望上传更多.clone(),<form>和<iframe>被赋予唯一的ID的id,name和target分别.该.ashx文件已经过测试和运行.我很困惑为什么我不能继续创建新的<form>s,<input type="file"/>'s <iframe>'和s并添加到列表中......HTML
<div id="files">
<div …Run Code Online (Sandbox Code Playgroud) 我有一个可视化的Web部件(使用标准的Visual Stuido 2012模板从"添加新项目"表单创建)只有一个<div id="newsListDiv" runat="server"></div>元素.我想使用以下代码以编程方式将自己的用户控件添加到它:
protected void Page_Load(object sender, EventArgs e)
{
NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine;
newsListDiv.Controls.Add(newsLine);
}
Run Code Online (Sandbox Code Playgroud)
但是当我部署解决方案并将Web部件添加到页面时,它会显示一个错误页面,告诉我文件'/_ControlTemplates/MainTheme/NewsLine.ascx'不存在.但是,如果我查看文件夹"C:\ Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\MainTheme",我可以看到该文件存在于那里.我试图将信任级别设置为"完全",但得到了相同的错误.我也尝试在.ascx文件中添加用户控件,如下所示:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>
<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>
Run Code Online (Sandbox Code Playgroud)
这样就得到了编译错误:"当前上下文中不存在名称'InitializeControl'".我也注意到,只要我将注册或参考行(带有我的用户控件的路径)添加到我的.ascx文件,.g.cs文件就会变成空白!当我删除该行时,它会再次填满.我尝试了许多不同的路径着作,如"../_controltemplates/","/ controltemplates/15 /"等.但它们都没有任何区别.我在这里绝望,请帮忙!
我正在尝试使用VBA从SharePoint打开Excel文件.因为每次运行宏时我正在查找的文件可能不同,所以我希望能够查看SharePoint文件夹并选择我需要的文件.
当我想在网络驱动器上查找文件时,下面的代码工作正常,但是当我用SharePoint地址替换它时,我得到"运行时错误76:找不到路径".
Sub Update_monthly_summary()
Dim SummaryWB As Workbook
Dim SummaryFileName As Variant
ChDir "http://sharepoint/my/file/path"
SummaryFileName = Application.GetOpenFilename("Excel-files,*.xls", _
1, "Select monthly summary file", , False)
If SummaryFileName = False Then Exit Sub
Set SummaryWB = Workbooks.Open(SummaryFileName)
End Sub
Run Code Online (Sandbox Code Playgroud)
当我将此地址粘贴到Windows资源管理器中时,我访问SharePoint文件夹没有问题,所以我知道路径是正确的.
为什么VBA不喜欢它?
我正在尝试使用Sharepoint 2013上的其余api创建一个简单的列表项.我的代码:
$.ajax({
url: siteUrl + "/_api/web/lists/getByTitle('internal_Listname')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify({
'__metadata': {
'type': 'SP.Data.internal_ListnameListItem',
},
'K1F1': k1f1Result,
}),
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
},
success: function (data) {
console.log("done");
},
error: function (err) {
console.log(JSON.stringify(err));
}
});
Run Code Online (Sandbox Code Playgroud)
尝试发送数据时,我收到403"禁止"错误.
"error":{
"code":"-2130575251, Microsoft.SharePoint.SPException",
"message":{
"lang":"en-US",
"value":"The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again."
}
}
Run Code Online (Sandbox Code Playgroud)
文件夹工作:
我现在知道如何设置库中文件夹的权限:
public void ChangeItemPermissions()
{
_SharePoint.ClientContext _ClientContext = new _SharePoint.ClientContext("https://sharepoint.oshirowanen.com/sites/oshirodev/");
_ClientContext.Credentials = new NetworkCredential("user", "pass", "oshirowanen.com");
_SharePoint.Principal user = _ClientContext.Web.EnsureUser(@"oshirowanen\tom");
var _List = _ClientContext.Web.Lists.GetByTitle("Library1");
var _Item = _List.LoadItemByUrl("/sites/oshirodev/Library1/Folder1");
var roleDefinition = _ClientContext.Site.RootWeb.RoleDefinitions.GetByType(_SharePoint.RoleType.Reader);
var roleBindings = new _SharePoint.RoleDefinitionBindingCollection(_ClientContext) { roleDefinition };
_Item.BreakRoleInheritance(false,true);
_Item.RoleAssignments.Add(user, roleBindings);
_ClientContext.ExecuteQuery();
}
Run Code Online (Sandbox Code Playgroud)
文件尝试:
我已经尝试将文件名添加到此行:
var _Item = _List.LoadItemByUrl("/sites/oshirodev/Library1/Folder1/File1.docx");
注意(/File1.docx)添加到上面一行的末尾.
收到错误:
但这只是一个错误:
System.NullReferenceException was unhandled
HResult=-2147467261
Message=Object reference not set to an instance of an object.
Source=ItemPermissions
StackTrace:
at ItemPermissions.Form1.ChangeItemPermissions() in c:\Users\Oshirowanen\Documents\Visual Studio 2013\Projects\ItemPermissions\ItemPermissions\Form1.cs:line 46 …Run Code Online (Sandbox Code Playgroud) sharepoint ×10
web-parts ×4
c# ×2
javascript ×2
.net ×1
ajax ×1
csom ×1
excel ×1
excel-2010 ×1
excel-vba ×1
forms ×1
iframe ×1
jquery ×1
json ×1
linq-to-xml ×1
properties ×1
rest ×1
vba ×1