![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
代码部分主要
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
命名空间
![](http://www.crazycoder.cn/icons/66787de.gif)
usingMicrosoft.Office.InfoPath;
using
![](http://www.crazycoder.cn/icons/66787System.gif)
using
![](http://www.crazycoder.cn/icons/66787System.gif)
using
![](http://www.crazycoder.cn/icons/66787System.gif)
using
![](http://www.crazycoder.cn/icons/66787System.gif)
using
![](http://www.crazycoder.cn/icons/66787System.gif)
首先是注册两个按钮事件
publicvoidInternalStartup![](http://www.crazycoder.cn/icons/66787kh.gif)
{
((ButtonEvent)EventManager.ControlEvents["CTRL12_5"]).Clicked![](http://www.crazycoder.cn/icons/66787jiadeng.gif)
ClickedEventHandler(CTRL12_5_Clicked);
((ButtonEvent)EventManager.ControlEvents["CTRL18_5"]).Clicked![](http://www.crazycoder.cn/icons/66787jiadeng.gif)
ClickedEventHandler(CTRL18_5_Clicked);
}
编写上传按钮事件
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
publicvoidCTRL12_5_Clicked(objectsender,ClickedEventArgse)
{
//在此处编写代码
XPathNavigatordomNav=MainDataSource.CreateNavigator
;
XPathNodeIteratorrows=domNav.Select("/my:myFields/my:group3/my:group5",NamespaceManager);
XPathNodeIteratorrows1;
myNamespace=NamespaceManager.LookupNamespace("my");
while(rows.MoveNext
)
{
rows1=domNav.Select("/my:myFields/my:group6/my:group7",NamespaceManager);
attachment=rows.Current.SelectSingleNode("my:attachment",NamespaceManager).Value;
![](http://www.crazycoder.cn/icons/66787byte.gif)
attachmentBytes=Convert.FromBase64String(attachment);
namebufferlen=attachmentBytes[20]*2;
![](http://www.crazycoder.cn/icons/66787byte.gif)
fileNameBuffer=![](http://www.crazycoder.cn/icons/66787new.gif)
[namebufferlen];
//Theactualfilenamestartsatposition24
for(
i=0;i<namebufferlen;i
)
{
fileNameBuffer[i]=attachmentBytes[24+i];
}
//originalfilenameminusthelastcharacter!
char
asciiChars=UnicodeEncoding.Unicode.GetChars(fileNameBuffer);
fileName=![](http://www.crazycoder.cn/icons/66787new.gif)
(asciiChars);
fileName=fileName.Sub
(0,fileName.Length-1);
//
.gif' />Name.Add(fileName);
//Thefileislocatedaftertheheader,whichis24
slong
//plusthelengthofthefilename.
![](http://www.crazycoder.cn/icons/66787byte.gif)
fileContent=![](http://www.crazycoder.cn/icons/66787new.gif)
[attachmentBytes.Length-(24+namebufferlen)];
for(
i=0;i<fileContent.Length;i
)
{
fileContent[i]=attachmentBytes[24+namebufferlen+i];
}
APWS.AgilePartsapws=
附件.APWS.AgileParts
;
savePath=@"http://ascentn-moss:8080/Shared%20Documents";
apws.Credentials=
.Net.CredentialCache.DefaultCredentials;
attachUrl=apws.UploadFileToSPS2(savePath+"/"+fileName,true,fileContent);
k=0;
(rows1.Count
0)
k=1;
![](http://www.crazycoder.cn/icons/66787else.gif)
k=rows1.Count+1;
using(XmlWriterwriter=MainDataSource.CreateNavigator
.SelectSingleNode("/my:myFields/my:group6",NamespaceManager).AppendChild
)
{
writer.WriteStartElement("group7",myNamespace);
writer.WriteElementString("fieldID",myNamespace,k.![](http://www.crazycoder.cn/icons/66787ToString.gif)
);
writer.WriteElementString("fieldURL",myNamespace,attachUrl);
writer.WriteElementString("fieldNAME",myNamespace,fileName);
writer.WriteEndElement
;
writer.Close
;
}
}
group2NodesCount=rows.Count;
XPathNavigatorfirstGroup2NodeNav=domNav.SelectSingleNode("/my:myFields/my:group3/my:group5[1]",
NamespaceManager);
XPathNavigatorlastGroup2NodeNav=domNav.SelectSingleNode("/my:myFields/my:group3/my:group5["+group2NodesCount.![](http://www.crazycoder.cn/icons/66787ToString.gif)
+"]",NamespaceManager);
firstGroup2NodeNav.DeleteRange(lastGroup2NodeNav);
}
删除事件
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)
![](http://www.crazycoder.cn/icons/66787de.gif)
publicvoidCTRL18_5_Clicked(objectsender,ClickedEventArgse)
{
//在此处编写代码![](http://www.crazycoder.cn/icons/66787dou2.gif)
strfileUrl=e.Source.SelectSingleNode("/my:myFields/my:group6/my:group7/my:fieldURL",NamespaceManager).Value;
SPSecurity.RunWithElevatedPrivileges(delegate![](http://www.crazycoder.cn/icons/66787kh.gif)
{
try
{
using(SPSitemySite=
SPSite("http://ascentn-moss:8080"))
{
mySite.AllowUnsafeUpdates=true;
SPWebwebs=mySite.OpenWeb
;
webs.AllowUnsafeUpdates=true;
webs.GetFile(strfileUrl).Delete
;
}
}
catch(Exceptionex)
{
throwex;
}
});
e.Source.DeleteSelf
;
}
到这里基本
![](http://www.crazycoder.cn/icons/66787de.gif)
![](http://www.crazycoder.cn/icons/66787dou.gif)