2012-10-13 75 views
0

我需要你的幫助。 我有這個xml文件,我需要閱讀並使用中繼器將其表格設置爲表格。表格的標題欄應該是一個按鈕,如果點擊該按鈕應該對列的內容進行排序。使用repeater-asp.net閱讀和顯示XML文件c#

數據顯示正常,但問題出在排序上,當我點擊其中一個按鈕時,頁面只是回傳一個空白頁面。

我做錯了什麼?請糾正我。 感謝名單

這是ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default2.aspx.cs" Inherits="ex3.Default2" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style type="text/css"> 
     .style1 
     { 
      width: 100%; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 


      <asp:Repeater ID="Repeater1" runat="server" 
     > 
    <HeaderTemplate> 


     <table> 
      <tr> 

       <th> <asp:Button ID="btnEvent" runat="server" Text="event" OnClick="btnEvent_Click" width="100%" EnableViewState="True" CausesValidation="True" /> 
       </th> 
       <th> <asp:Button ID="btnDate" runat="server" Text="date" OnClick="btnDate_Click" width="100%" EnableViewState="True" CausesValidation="True" /> 
       </th> 

      </tr> 
    </HeaderTemplate> 

    <ItemTemplate> 
     <tr> 


      <td> 
      <asp:Label ID="lbl1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "title") %>'></asp:Label> 
      </td> 
      <td> 
       <asp:Label ID="lbl2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "pubDate") %>'></asp:Label> 
      </td> 


      </tr> 
      </ItemTemplate> 



    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

    </form> 
</body> 
</html> 

C#中的代碼的代碼:

public partial class Default2 : System.Web.UI.Page 
    { 
     DataSet ds; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       ds = new DataSet(); 
       ds.ReadXml(@"http://www1.biu.ac.il/rss-event-eng.php"); 
       Repeater1.DataSource = ds; 
       Repeater1.DataMember = ds.Tables[2].TableName; 
       Repeater1.DataBind(); 
       form1.Controls.Add(Repeater1); 
      } 
     } 
     protected void btnEvent_Click(object sender, EventArgs e) 
     { 

      DataSet ds = new DataSet(); 
      ds.ReadXml(@"http://www1.biu.ac.il/rss-event-eng.php"); 
      DataView dv = ds.Tables[2].DefaultView; 
      dv.Sort = "title ASC"; 
      Repeater1.DataSource = dv; 
      Repeater1.DataBind(); 


     } 


     protected void btnDate_Click(object sender, EventArgs e) 
     { 
      DataSet ds = new DataSet(); 
      ds.ReadXml(@"http://www1.biu.ac.il/rss-event-eng.php"); 
      DataView dv = ds.Tables[2].DefaultView; 
      dv.Sort = "pubDate ASC"; 
      Repeater1.DataSource = dv; 
      Repeater1.DataBind(); 


     } 
    } 

回答

1

刪除此字符串中的Page_Load

form1.Controls.Add(Repeater1); 
+0

感謝名單它幫助。 – dash