Sharepoint>列表中哪些字符*不允许*?

时间:2011-01-06 21:03:29

标签: sharepoint soap sharepoint-2007 sharepoint-2010 escaping

我已经尝试过这样做,并没有想出我正在寻找的答案;我发现了文件名,文件夹名称和站点名称中不能包含的内容......但列表中的实际字段没有任何内容。

我注意到百分号(%)是文件/网站/文件夹中不允许的。但是当我尝试以字母方式将字段添加到列表时,它也不会填充。我这样做是通过使用一个小型C#应用程序,通过Sharepoint 2010的内置Web服务发送数据。我可以手动输入字符,但如果我通过代码尝试它,它会弄乱行中的每个字段。

我尝试了一些我通过Google找到的转义字符(_x26),但这些似乎也无效。有没有其他人有这个问题?如果允许这些字符,如何通过Web服务调用发送数据时将它们转义?

提前致谢!

贾斯汀

4 个答案:

答案 0 :(得分:2)

输入字段名称时不允许的任何字符都会在内部名称中编码。格式与您显示的格式略有不同 - 请尝试“_x0026 _”。

我通常通过创建名称中没有空格或特殊字符的字段来避免出现奇怪的内部名称问题,然后重命名它。重命名字段时,只更改显示名称,并保留简单的内部名称。

答案 1 :(得分:2)

SharePoint文件名中不允许使用的字符:
〜,#,%,& ,*,{,},\,:,<,>,?,/,|,“

http://chrisbarba.com/2011/01/27/sharepoint-filename-special-characters-not-allowed/

粘贴

答案 2 :(得分:0)

当我说某些字符不被允许的原因时,我说的有些奇怪。我不知道是哪个或为什么,但可能有一个原因。

由于您可以控制哪些字段需要,您还可以指定其(内部)名称。我会说遵循最佳实践并使用Camel案例命名您的字段。因为您创建了它们,所以您只需将字段映射到数据源中的相应字段即可。

答案 3 :(得分:0)

在@Elisa的回答之后,here's some JavaScript / TypeScript code that helps to prevent users from uploading files into SharePoint with invalid characters in the file name在Nintex表单上实现。

这是JavaScript版本的要点(请注意,由于这是为Nintex设计的,因此您必须明显适应自己的需求):

//------------------------------------------------------------------------
//JavaScript Version:
//Code from http://cc.davelozinski.com/tips-techniques/nintex-form-tips-techniques/javascript-typescript-for-nintex-forms-to-validate-file-names
//------------------------------------------------------------------------
function validateAttachmentNames(eventObject) {
 var textbox$ = NWF$(this);
 var attachrowid = this.id.substring(10, 47);
 var fileUploadid = attachrowid;
 var index = attachrowid.substring(36);
 //console.log('index:' + index);
 //console.log('attachrowid:' + attachrowid);
 //console.log('fileUploadid:' + fileUploadid);
 if (index == '') {
 attachrowid += '0';
 }
 var fileName = NWF.FormFiller.Attachments.TrimWhiteSpaces(textbox$.val().replace(/^.*[\\\/]/, ''));
 var match = (new RegExp('[~#%\&{}+\|]|\\.\\.|^\\.|\\.$')).test(fileName);
 if (match) {
 isValid = false;
 setTimeout(function () {
 NWF$("tr[id^='attachRow']").each(function () {
 var arrParts = (NWF$(this).find(".ms-addnew")[0]).href.split('"');
 var fileName = arrParts[5];
 var attachRow = arrParts[1];
 var fileUpload = arrParts[3];
 var match = (new RegExp('[~#%\&{}+\|]|\\.\\.|^\\.|\\.$')).test(fileName);
 if (match) {
 console.log(fileName);
 NWF.FormFiller.Attachments.RemoveLocal(attachRow, fileUpload, fileName);
 alert('Invalid file: ' + fileName + '  You cannot attach files with the following characters ~ # % & * { } \ : < > ? / + | \n\nThe file has been removed.');
 }
 });
 }, 500);
 }
}