我正在使用soap来更新共享点列表中的列表项(实质上是html文章),这一切都正常。它以这种方式完成,因为它从另一台服务器更新信息。 这是通过asp.net(在VB中)使用Web引用(下面称为sharepointref)到lists.asmx服务
来完成的。但是,当通过lists.asmx使用updatelistitems时,添加到A标签或任何标签的任何onclick事件都会被删除。 我基本上想在列表项中的某些链接上的onclick事件中添加一些JQUERY。
$('html,body').animate({scrollTop: $('#anchor').offset().top},'slow');return false;
这只是平滑地滚动到文章中的锚点,而不是再次重新加载文章。
我假设这是sharepoint中的一项安全功能,但有没有办法解决这个问题?
一个基本的例子是:
Dim xmlDoc As XmlDocument = New System.Xml.XmlDocument()
Dim myUpdates as XmlNode= xmlDoc.CreateNode(XmlNodeType.Element, "Batch","")
myxml = "<Method ID='1' Cmd='Update'>"
myxml = myxml & "<Field Name='ID'>1</Field>"
myxml = myxml & "<Field Name='Content_Field'><![CDATA[<a name='anchor'></a><br><br><a href="&chr(34)&"#"&chr(34)&" onclick="&chr(34)&"$('html,body').animate({scrollTop: $('#anchor').offset().top},'slow');return false;"&chr(34)&">test</a>]]></Field>"
myxml = myxml & "</Method>"
myUpdates.InnerXml = myxml
Dim mysp As new sharepointref.Lists()
Dim ndLists As XmlNode = mysp.UpdateListItems("Articles",myUpdates)
以上所有内容都没问题,除非你在Sharepoint中看到它丢失了onclick事件。