1

私は 2 つの DropDownList を持っています: 1) 大学の 4 つの静的な名前を含む CollegeDDL。: ホメオパシー医科大学、理学療法大学、アーユルヴェーダ研究所、経営学研究所

2) CourseDetail.XML にバインドされる CourseDDL。

    <Institutes>  
    <Institute>
    <InstituteName>  Homoeopathic Medical College  </InstituteName>
    <Course> <CourseName>  BHMS                    </CourseName> </Course>  
    <Course> <CourseName>  MD(Repertary)           </CourseName> </Course>  
    <Course> <CourseName>  MD(Organon of Medicine) </CourseName> </Course>  
    <Course> <CourseName>  MD(Materia Medica)      </CourseName> </Course>  
    </Institute>

    <Institute>
    <InstituteName>  Physiotherapy College  </InstituteName>
    <Course> <CourseName>  BPT          </CourseName> </Course> 
    <Course> <CourseName>  BPT(Sports)  </CourseName> </Course> 
    <Course> <CourseName>  BPT(Cardio)  </CourseName> </Course>
    </Institute>

    <Institute>
    <InstituteName>  Institute of Ayurved  </InstituteName>
    <Course> <CourseName>  BAMS          </CourseName> </Course>
    <Course> <CourseName>  BAMS(Nature)  </CourseName> </Course>
    <Course> <CourseName>  BAMS(Plants)  </CourseName> </Course>
    </Institute>

    <Institute>
    <InstituteName> Institute of Business Administration </InstituteName>
    <Course> <CourseName>BBA</CourseName> </Course> 
    <Course> <CourseName>DBM</CourseName> </Course> 
    <Course> <CourseName>BBA(Distance)</CourseName> </Course>   
    </Institute>

CourseDetail.XSL

    <xsl:template match ="/">

    <Institute>
    <xsl:apply-templates select ="Institutes/Institute/Course"/>
    </Institute>

    </xsl:template>


    <xsl:template match ="Institutes/Institute/Course">
    <Institute>
    <xsl:attribute name="CourseName">
    <xsl:value-of select="CourseName"/>
    </xsl:attribute>
    </Institute>

    </xsl:template>

Coursedetail.XML を CourseDDL および CourseDetail.XSL にバインドしました (XPATH 式なし)

これを実行すると、XML ファイルのすべての CourseName 値が My CourseDDL に正しく入力されます。しかし今、 CollegeDDL で選択された College Name に基づいて、 CourseDDL にバインドされたデータをフィルタリングしたいと考えています。

例: 現在、私の CourseDDL にはすべての CourseName が含まれています: BHMS,MD(Repertary),MD(Organon of Medicine),......,DBM,BBA(Distance)。

しかし、 CollegeDDL で「Homoeopathic Medical College」を選択すると、 CourseDDL にバインドされたデータはそれに応じてフィルタリングされます。これは、「Homoeopathic Medical College」を選択すると、CourseDDL がそのコースのみを表示する必要があることを意味します: BHMS、MD(レパートリー)、MD(Organon of Medicine)、MD(Materia Medica)


次のことを試しましたが、達成できませんでした。

    1) XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" +         CollegeDDL.SelectedItem.Value + "']"

    2) XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" +         CollegeDDL.SelectedItem.Value + "']/Course"

    3)XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" + CollegeDDL.SelectedItem.Value + "']/Course/CourseName"

これを達成するために正しいXPATH式をフォーマットするのを手伝ってください。

4

1 に答える 1

0

Pavelは正しいと思います。問題はスペースです-試してください:

/Institutes/Institute[normalize-space(InstituteName)='" + CollegeDDL.SelectedItem.Value + "']/Course/CourseName

あるいは

/Institutes/Institute[normalize-space(InstituteName)=normalize-space('" + CollegeDDL.SelectedItem.Value + "')]/Course/CourseName
于 2012-05-15T12:45:58.510 に答える