2015-01-15 23 views
0

我剛剛開始C#和ASP.Net,我需要幫助填充表。 這是XML的樣子:如果條件爲真,XML節點到表(C#,ASP.net)

`<client> 
    <person> 
    <id>12345</id> 
    <name>John</name> 
    <surname>Smith</surname> 
    <type>New</type> 
    </person> 
</client>` 

我想在一個文本字段中輸入編號,按一個提交按鈕,如果ID從XML文件中的某個ID匹配來填充表名稱。到目前爲止,如果我按下按鈕沒有任何反應。

這是我的aspx至今(我相信"</asp:DataList>"應該是在年底,但如果我這樣做會給出一個錯誤):

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> 



    <asp:XmlDataSource ID="SalaDataSource" runat="server" DataFile="~/App_Data/clienti.xml" XPath="/clienti/persoana" ></asp:XmlDataSource> 
    <asp:DataList ID="dlPerson" runat="server" DataSourceID="SalaDataSource"> </asp:DataList> 

    <h2>Verify member</h2><br/> 

     <table> 
       <tr> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Card ID 
        </td> 
        <td style="padding-left:20px;"> 
         <asp:TextBox ID="TextBox5" runat="server" ></asp:TextBox> 
        </td> 
        <td style="padding-left:20px;text-decoration:underline;font-weight:bold;"> 
         <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Button1_Click" OnClick="Button1_Click" /> 
        </td> 

       </tr> 
     </table><br/>  


    <HeaderTemplate> 
      <table> 
       <tr> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Name 
        </td> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Surname 
        </td> 
        <td style="padding-left:20px;text-decoration:underline;font-weight:bold;"> 
        Type 
        </td> 
       </tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
      <td style="padding-left:10px;" valign="top"> <%# XPath("name")%> 
      </td> 
      <td style="padding-left:20px;" valign="top"> <%# XPath("surname") %> 
      </td> 
      <td style="padding-left:20px;" valign="top"> <%# XPath("type")%> 
      </tr> 
     </ItemTemplate> 

     <FooterTemplate> 
      <tr> 
      <td colspan ="3"> 
      </td> 
      </tr> 
      </table> 
     </FooterTemplate><br/> 



</asp:Content> 

,這是aspx.cs:

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> 

    <h1><p>Sala fitness</p></h1> 

    <asp:XmlDataSource ID="SalaDataSource" runat="server" DataFile="~/App_Data/clienti.xml" XPath="/clienti/persoana" ></asp:XmlDataSource> 
    <asp:DataList ID="dlPerson" runat="server" DataSourceID="SalaDataSource"> </asp:DataList> 

    <h2>Verify member</h2><br/> 

     <table> 
       <tr> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Card ID 
        </td> 
        <td style="padding-left:20px;"> 
         <asp:TextBox ID="TextBox5" runat="server" ></asp:TextBox> 
        </td> 
        <td style="padding-left:20px;text-decoration:underline;font-weight:bold;"> 
         <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Button1_Click" OnClick="Button1_Click" /> 
        </td> 

       </tr> 
     </table><br/>  


    <HeaderTemplate> 
      <table> 
       <tr> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Name 
        </td> 
        <td style="padding-left:10px;text-decoration:underline;font-weight:bold;" > 
        Surname 
        </td> 
        <td style="padding-left:20px;text-decoration:underline;font-weight:bold;"> 
        Type 
        </td> 
       </tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
      <td style="padding-left:10px;" valign="top"> <%# XPath("name")%> 
      </td> 
      <td style="padding-left:20px;" valign="top"> <%# XPath("surname") %> 
      </td> 
      <td style="padding-left:20px;" valign="top"> <%# XPath("type")%> 
      </tr> 
     </ItemTemplate> 

     <FooterTemplate> 
      <tr> 
      <td colspan ="3"> 
      </td> 
      </tr> 
      </table> 
     </FooterTemplate><br/> 

    <asp:HyperLink ID="HyperLink1" runat="server">Inregistreaza client nou</asp:HyperLink> 

</asp:Content> 
+0

你的'aspx.cs'看起來像'aspx' –

+2

你忘了添加'.cs'代碼 – Shaharyar

回答

0

這裏應該是什麼你的方法使用的XmlDataSource在C#:

  • 創建波蘇斯映射你的XML文檔
  • 反序列化使用XmlSerializer的

您的XML(這樣你會得到客戶的列表)現在做

var clientObject= clientList.where(t=>t.id==textbox1.Text).FirstOrDefult(); 

現在使用這個對象的屬性綁定的DataTable。