2010-03-16 4 views
0

DataFormWebPart를 확장하는 사용자 지정 웹 파트를 작성하고 있습니다.DataFormWebPart에서 DataSource 속성을 사용하는 방법

유일한 눈에 띄는 것은 데이터 소스로 xml을 사용하는 DataBind() 메서드를 재정의하는 것입니다.

내가 웹 파트를 배포 한 후

, 나는 여기에 다음과 같은 XSL을 설정

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
    <xsl:template match="/"> 
    <xmp> 
     <xsl:copy-of select="*"/> 
    </xmp> 
    </xsl:template> 
</xsl:stylesheet> 

이 XSL은 태그로 입력 XML을 둘러싸고 것입니다. 그래서 나는 웹 파트가 원래의 xml 데이터를 표시 할 것을 기대했다. 그러나 웹 파트에 표시하는 것은 이것이다 : 가장 안쪽 태그 내에서

<Person> 
    <name cap="true" /> 
    <occupation /> 
    </Person> 

모든 값은 사라집니다.

무슨 일 이니? 아무도 나를 도울 수 있습니까?

감사합니다.

답변

1

나는이 질문을 한 지 몇 달이 지났음을 알고 있지만, 나는 또한이 동일한 문제를 경험했으며 해결책을 찾았습니다. 이 MSDN 포럼 게시물에

- http://social.msdn.microsoft.com/forums/en-US/sharepointdevelopment/thread/0a0527b6-3a05-4791-8cc5-9a6de07d23f3

그들은 거기에 바인딩 xsmldatasource의 XPath는 탐색의 버그이며, 해상도가 GetXPathNavigator 메소드를 오버라이드 (override)하는 것이라고 언급했다.

데이터 바인딩에서이 메서드로 코드를 이동하면 바로 검색 문제가 해결되었습니다.

관련 문제