2016-06-10 3 views
0

텍스트 데이터를 제출할 때 정보가 저장되는 XML 파일이 있습니다. 또한 사용자가 제출 한 정보를 검색 할 수있는 TextBox 및 단추가 있습니다.텍스트가 C#의 XML 파일에있는 텍스트와 일치하는 경우 결과 표시

예를 들어, 사용자가 등록 번호를 검색 할 수있게하고 검색 버튼을 누르면 검색 결과가 정확히 일치하는 경우에만 결과가 표시됩니다. 현재 GridView를 통해 바인딩 된 XML 데이터가 있고 현재 if/else 문에서 정확한 데이터를 입력하지 않으면 검색 부분에 대한 미완성 if/else 문을 사용하고 있지만 클라이언트 측에 데이터가 표시되지 않습니다. 이 문제를 해결하기 위해 어떤 옵션이 있습니까?

이것은 C#

protected void Searchbutton_Click(object sender, EventArgs e) 
{ 
    DataSet ds; 
    string filepath = Server.MapPath("~/App_Data/RegData.xml"); 
    ds = new DataSet(); 
    ds.ReadXml(filepath); 
    RES.DataSource = ds.Tables[1].DefaultView; 
    RES.DataBind(); 

    var sr = Searchreg.Text; 
    var dss = Convert.ToString(ds); 
    if (sr.Equals("12345678")) 
    { 
     RES.DataSource = ds.Tables[1].DefaultView; 
    } 
    else 
    { 
     none.Visible = true; 
     RES.Visible = false; 
    } 
} 

입니다 그리고 이것은

<table> 
    <tr> 
     <td> 
     <asp:TextBox runat="server" ID="Searchreg"></asp:TextBox> 
     </td> 
     <td> 
     <asp:Button runat="server" ID="Searchbutton" Text="Search" OnClick="Searchbutton_Click" /> 
     </td> 
    </tr> 
    <tr> 
     <td> 
     <asp:GridView runat="server" ID="RES" CellPadding="4" AutoGenerateColumns="false"> 
      <Columns> 
       <asp:BoundField HeaderText="Registration" DataField="Registration" /> 
      </Columns> 
     </asp:GridView> 
     </td> 
     <td> 
     <asp:Label runat="server" ID="none" Text="No Results" Visible="false"></asp:Label> 
     </td> 
    </tr> 
</table> 

이는 XML 파일의 예입니다 영문 페이지에서입니다 :

<registration> 
    <own> 
     <Name>afadf</Name> 
     <Address>afaf</Address> 
     <Number>adfad</Number> 
     <Registration>12345678</Registration> 
     <BoatLength>adfd</BoatLength> 
     <ManufacturerYear>adf</ManufacturerYear> 
     <LeaseStart>16/06/2016</LeaseStart> 
     <LeaseEnd>24/06/2016</LeaseEnd> 
     <Cost>Total Cost: $40</Cost> 
    </own> 
    <lease></lease> 
</registration> 
+0

DataTable에 제공 할 수 있습니다. 왜'sr' 문자열을 상수 값과 비교하고 있습니까? 이'sr' 값을 XML 파일에서 검색하려고합니까? 아마도 XML 파일이 어떻게 보이는지 알면 도움이 될 것입니다. – caesay

+0

두 번째로 XML 파일을 추가하겠습니다. XML 파일의 내용을 검색하고 결과를 표시 할 수 있지만 결과가 정확히 일치하는 경우에만 – Hannah

+0

XML을 게시하지 않으려 고합니다. 내가 여기에 게시합니다 <등록> afaf

adfad <등록> 12345678 adfd afadf ADF 16/06/2016 24/06/2016 총 비용 : $ (40) Hannah

답변

0

당신은 내가 당신이 뭘하려는 건지 정확히 무엇인지 확실 해요 RowFilter

DataView dv = ds.Tables[1].DefaultView; 
dv.RowFilter = "registration = " + Searchreg.Text; // use correct column name. 
RES.DataSource = = dv;