2个转发器控制读取1个XML文件,但只显示第1个

时间:2012-09-04 11:57:29

标签: asp.net xml repeater datarepeater

我现在有两个中继器,需要查看1个XML文件,但只有第一个工作。

XML目前看起来像:

<catalog>
    <categories>
        <ST>Example 1</ST> 
    </categories>

    <SOW>
        <hello>Data Displays</hello>                                                                                    
    </SOW>

</catalog>

我的第一个中继器看起来像:

 <form runat="server">
<asp:Repeater id="categories" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<table width="832" border="0" bgcolor="#FFFFFF">


  <tr>
    <td width="134" align="left"  class="list-content-requirement" style="padding-left: 15px;">ST:</td>
    <td width="688" colspan="6" align="left" style="padding-left: 15px;"><%#Container.DataItem("ST")%></td>
  </tr>


 </table>
</ItemTemplate>
<footertemplate>
</footertemplate>
</asp:Repeater>  

我的第二个看起来像这样(在第一个之后是直的):

<asp:Repeater id="SOW" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<table width="832" border="0" bgcolor="#FFFFFF">


  <tr>
    <td width="134" align="left"  class="list-content-requirement" style="padding-left: 15px;">hello:</td>
    <td width="688" colspan="6" align="left" style="padding-left: 15px;"><%#Container.DataItem("hello")%></td>
  </tr>


 </table>
</ItemTemplate>
<footertemplate>
</footertemplate>
</asp:Repeater> 
 </form>

最后但并非最不重要的是我的脚本:

<script  runat="server">
Public Sub Page_Load()
    If Not Page.IsPostBack Then
        Dim cat As String = Request.QueryString("cat")
        Dim mycategories As DataSet = New DataSet()
        mycategories.ReadXml(MapPath("XML/" + cat + ".xml"))
        categories.DataSource = mycategories
        categories.DataBind()
    End If
End Sub

</script>

没有错误被抛出,但第二个转发器似乎无法正常工作

2 个答案:

答案 0 :(得分:1)

<script  runat="server">
Public Sub Page_Load()
    If Not Page.IsPostBack Then
        Dim cat As String = Request.QueryString("cat")
        Dim mycategories As DataSet = New DataSet()
        mycategories.ReadXml(MapPath("XML/" + cat + ".xml"))

        categories.DataSource = mycategories.Tables("categories")
        categories.DataBind()

        SOW.DataSource = mycategories.Tables("SOW")
        SOW.DataBind()

    End If
End Sub

</script>

答案 1 :(得分:0)

您没有数据绑定您的母猪转发器控件

添加

sow.DataSource = mycategories
sow.DataBind()