2014-01-30 20 views
2

我使用itemdatabound.when我再檢查一下,當越來越空例外,我所看到的是商品指數zero.can妳告訴我在哪裏,我的中繼器是錯誤的直放站ItemDataBound事件給空例外

我的中繼器;

 <asp:Repeater runat="server" ID="rptKonutm" OnItemDataBound="rptKonut_ItemDataBound"> 
      <ItemTemplate> 


     <div class="caption"> 
     <h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "Fiyat") %>$</h4> 
     <h4> 
     <asp:Label runat="server" ID="lblKonutFiyat"></asp:Label> 

     </h4> 
     <h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "Il")%></h4> 
     <h4><asp:Label runat="server" ID="lblMevki"></asp:Label></h4> 

      <h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "EkBilgi")%></h4> 
     <h4><asp:Label runat="server" ID="lblDahaFazlaBilgi"></asp:Label></h4> 
     <h4 class="pull-right"><%# DataBinder.Eval(Container.DataItem, "AlanMetreKare")%></h4> 
      <h4><asp:Label runat="server" ID="lblAlanMetreKare"></asp:Label></h4> 
</div> 
        <!-- Split button --> 
        </ItemTemplate> 
     </asp:Repeater> 

背後ItemDataBound事件

protected void rptKonut_ItemDataBound(object sender, RepeaterItemEventArgs e) 
     { 
      System.Web.UI.WebControls.Label lblKonutFiyat = (System.Web.UI.WebControls.Label)e.Item.FindControl("lblKonutFiyat"); 
      System.Web.UI.WebControls.Label lblMevki = (System.Web.UI.WebControls.Label)e.Item.FindControl("lblMevki"); 
      System.Web.UI.WebControls.Label lblDahaFazlaBilgi = (System.Web.UI.WebControls.Label)e.Item.FindControl("lblDahaFazlaBilgi"); 
      System.Web.UI.WebControls.Label lblAlanMetreKare = (System.Web.UI.WebControls.Label)e.Item.FindControl("lblAlanMetreKare"); 


      lblKonutFiyat.Text = MyResource.lblKonutFiyat; 
      lblMevki.Text = MyResource.lblMevki; 
      lblDahaFazlaBilgi.Text = MyResource.lblDahaFazlaBilgi; 
      lblAlanMetreKare.Text = MyResource.lblAlanMetreKare; 


     } 

回答

2

伊馬德是正確的,你需要檢查你是在項目行搜索。

你可以找到你的控件通過以下方式來確定錯誤的原因:

 Label lblKonutFiyat = e.Item.FindControl("lblKonutFiyat") as Label; 

     if (lblKonutFiyat != null) 
     { 
      lblKonutFiyat.Text = MyResource.lblKonutFiyat; 
     } 

     .... 

如果控件爲空,將優雅地處理它,沒有得到任何一組標籤將爲您提供與有問題的標籤。

+0

我提到我的問題,項目索引爲零,這意味着所有的控件都是空的 – sakir

+0

什麼是答案/問題?:) – hutchonoid

+0

我得到的結論是,如果你想確保代碼是正確的,做的不是自動的,不是自動的。不是同時進行的。我只是忘記在我的代碼頂部刪除另一個修復器,這會自動生成 – sakir

2

代碼嘗試讓你的代碼在下面,如果

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){} 
+0

nope did not work – sakir

+0

請確保您提供了正確的Id's – SMI

+0

Id?其中一個Id – sakir