2013-03-07 66 views
0

我遇到問題。這是我的html代碼。System.Data.DataRowView不返回數據

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
       <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
        <ContentTemplate> 
         <asp:ScriptManager ID="ScriptManager1" runat="server"> 
         </asp:ScriptManager> 
         <asp:ListView ID="ListView1" runat="server"> 
         <LayoutTemplate> 
          <table border="0" cellpadding="1"> 
           <tr style="background-color:#E5E5FE"> 
            <th align="left"><asp:LinkButton ID="lnkId" runat="server" CommandName="Sort" CommandArgument="ID">Id</asp:LinkButton></th> 
            <th align="left"><asp:LinkButton ID="lnkName" runat="server" CommandName="Sort" CommandArgument="TelcoName">TelcoName</asp:LinkButton></th> 
            <th align="left"><asp:LinkButton ID="lnkReloadValue" runat="server" CommandName="Sort" CommandArgument="Reload Value">Reload Value(RM)</asp:LinkButton></th> 
            <th align="left"><asp:LinkButton ID="lnkQuantity" runat="server" CommandName="Sort" CommandArgument="Quantity">Quantity</asp:LinkButton></th>          
            <th></th> 
           </tr> 
           <tr id="itemPlaceholder" runat="server"></tr> 
          </table> 
         </LayoutTemplate> 
         <ItemTemplate> 
         <tr> 
         <td><asp:Label runat="server" ID="lblId"><%#Eval("ID") %></asp:Label></td> 
         <td><asp:Label runat="server" ID="lblTelcoName"><%#Eval("TelcoName") %></asp:Label></td> 
         <td><asp:Label runat="server" ID="lblReloadValue"><%#Eval("Reload Value (RM)")%></asp:Label></td> 
         <td><asp:Label runat="server" ID="lblQuantity"><%#Eval("Quantity")%></asp:Label></td> 
         </tr> 
         </ItemTemplate> 
         </asp:ListView> 
        </ContentTemplate> 
       </asp:UpdatePanel> 
      </ContentTemplate> 
     </asp:UpdatePanel> 

而這背後的代碼

Dim dt As New DataTable 
     Dim i = 0 
     Dim ID As New DataColumn("ID") 
     dt.Columns.Add(ID) 
     Dim TelcoName As New DataColumn("TelcoName") 
     dt.Columns.Add(TelcoName) 
     Dim ReloadValue As New DataColumn("Reload Value (RM)") 
     dt.Columns.Add(ReloadValue) 
     Dim Quantity As New DataColumn("Quantity") 
     dt.Columns.Add(Quantity) 
     ListView1.DataSource = dt 
     ListView1.DataBind() 

     ID.AutoIncrement = True 
     ID.AutoIncrementSeed = 1 
     ID.ReadOnly = True 

     Dim data() As String 

     data = Session("Transaction") 

     If data(0) <> "" Then 
      Dim Maxis() As String 
      Maxis = data(0).Split(";") 
      Dim dr1 As DataRow = dt.NewRow() 
      dr1("TelcoName") = Maxis(0) 
      dr1("Reload Value (RM)") = Maxis(1) 
      dr1("Quantity") = Maxis(2) 
      dt.Rows.Add(dr1) 
      ListView1.DataSource = dt 
      ListView1.DataBind() 
     End If 

     If data(1) <> "" Then 
      Dim XPax() As String 
      XPax = data(1).Split(";") 
      Dim dr2 As DataRow = dt.NewRow() 
      dr2(1) = XPax(0) 
      dr2(2) = XPax(1) 
      dr2(3) = XPax(2) 
      dt.Rows.Add(dr2) 
      ListView1.DataSource = dt 
      ListView1.DataBind() 
     End If 

不知怎的,我收到錯誤「數據綁定」。System.Data.DataRowView」不包含名爲‘刷新值’a pproperty當我調試,列應該已經填補,但我不知道這裏有什麼問題。任何人都可以幫我嗎?

+0

請看看我的編輯代碼。您在推薦參數方面存在問題。請參閱下面的代碼並檢查它 – 2013-03-07 07:38:15

回答

0

不要在列名稱中使用空格和()

嘗試改變這個李網元

Dim ReloadValue As New DataColumn("ReloadValueRM") 

     dr1("ReloadValueRM") 

    <%#Eval("ReloadValueRM")%> 

編輯

,並切換到

CommandArgument="**ReloadValueRM**">