, 내가 ASPX에서 XMLDataSource을 정의 기억되지 않습니다설정 XMLDataSource.XPath는 내 응용 프로그램에서
<asp:XmlDataSource ID="XmlThickness" runat="server"
DataFile="~/XML/Data/products.xml" EnableCaching="False"
EnableViewState="False"
></asp:XmlDataSource>
이 데이터 소스는 그리드를 공급한다.
XmlThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/Thick";
XmlThickness.DataBind();
이 작품의 전체를 내 코드에서
, 나는 업데이트 할 그리드를 일으키는 특정 기능의 특정 지점에서 XPath를 설정 한 다음 XMLDataSource에 새로운 데이터 바인딩()를 발행 매력이지만, 다른 함수 내에서 XPAth를 읽으려고하면 오류 메시지가 나타납니다.
XmlNode thick = myDataSource.SelectSingleNode(XmlThickness.XPath.ToString());
디버깅은 XPath 표현식이 실제로 비어 있음을 보여줍니다.
DataSource 생성을 코드로 이동 한 다음 그리드의 DataSourceID 만 설정하려고 시도했지만 작동하지 않았습니다.
이 작업을 시도하기 전에 XMLDataSource 정의에 기본 XPath를 정의했으며 그 시점에서 XMLNode thick
줄이이 기본 문자열을 반환했습니다.
XMLDataSource에서 XPath가 유지되지 않는 이유에 대해 다소 혼란 스럽습니다. 이전 함수에서 명시 적으로 설정했습니다. 누군가 날 위해 이걸 좀 털어 놓을 수 있겠 니?
감사 : 여기를 보라. 이 링크는 보안상의 이유로 언급하고 있습니다. 어쨌든 xPath를 수동으로 채우는 것을 보면, 지금은 변수에 저장하고 있습니다. 그런 다음 나중에 적절한 노드를 찾으려면 나중에 사용하십시오. – SchmitzIT