2010-04-01 4 views
0

Quand j'ai essayé de trouver le contrôle n Liste des données Comme je l'ai mentionné ci-dessousTrouver contrôle Dans Datalist

Error(Object reference not set to an instance of an object. 

Je ne peux pas savoir

protected void dlCategory_ItemDataBound(object sender, DataListItemEventArgs e) 
    { 
     Label Lb = (Label)e.Item.FindControl("LblCat"); 
     Lb.ForeColor = System.Drawing.Color.Red; 
    } 



<Datalist> 
<asp:DataList ID="dlSubCategory" runat="server" 
            DataSource='<%# GetSubCategory(Convert.ToString(Eval("Category_ID")))%>' 
            onitemcreated="dlSubCategory_ItemCreated" 
            onitemdatabound="dlSubCategory_ItemDataBound"> 
            <EditItemStyle ForeColor="#CC3300" /> 
            <SelectedItemStyle ForeColor="#CC3300" /> 
            <ItemTemplate> 
             <div class="buttn_div_sub"> 
              <div class="lm40 tm2 buttn_txt"> 
               <a href='<%# Convert.ToString(Eval("ProductCategory_Id")).Insert(0,"ListView.aspx?ProductCategory_Id=") %>' 
                class="buttn_txt"> 
                <asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Name") %>'></asp:Label> 
               </a> 
              </div> 
             </div> 
            </ItemTemplate> 
           </asp:DataList> 
          </ItemTemplate> 
+0

@Kareem: S'il vous plaît formater votre code. http://meta.stackexchange.com/questions/22186/how-do-i-get-my-code-formatted-in-stackoverflow –

Répondre

3
protected void dlCategory_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    Label Label1 = e.Item.FindControl("Label1") as Label; 
    if (LblCat != null) 
    { 
     string id = ((System.Data.DataRowView)e.Item.DataItem).Row["ProductCategory_Id"].ToString(); 

     if (Request.QueryString["ProductCategory_Id"] == id) 
     { 
      Label1.ForeColor = System.Drawing.Color.Red; 
     } 
    } 
} 
+0

merci mais je veux l'article que je vais sélectionner avec la souris cela signifie que je suis maintenant ici sur cette page – Myworld

+0

a mis à jour ma réponse – hunter

0

Pourriez-vous essayer? Le premier élément passé à cette fonction sera l'en-tête (si présent sur le datalist) et c'est pourquoi vous obtenez l'erreur.

protected void dlCategory_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     Label Lb = (Label)e.Item.FindControl("LblCat"); Lb.ForeColor = System.Drawing.Color.Red; 
    } 
} 
+0

je vous remercie cela a bien fonctionné Je veux donner la couleur pour l'article dont il a été sélectionné menu non tous les articles que vous pouvez voir http://beta.elarabygroup.com/Default.aspx – Myworld

Questions connexes