【问题标题】:give control in datalist color控制 datalist 颜色
【发布时间】:2010-04-14 07:54:59
【问题描述】:

我有 datalist 作为显示类别和子菜单的菜单,我想为所选项目(类别或子)提供红色或 css 我试过但我有问题 这是我的代码

 private  Label Lb;

 protected void Page_Load(object sender, EventArgs e)
{


}

protected void dlCategory_ItemDataBound(object sender, DataListItemEventArgs e)

{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
         Lb = (Label)e.Item.FindControl("LblCat");

    }


}



protected void dlCategory_SelectedIndexChanged(object sender, EventArgs e)
{


        Lb.ForeColor = System.Drawing.Color.Red;


}

}

【问题讨论】:

    标签: c#


    【解决方案1】:

    需要更多详细信息。您没有描述您面临的问题。

    在这段代码之后Lb 对象是否为空? Lb = (Label)e.Item.FindControl("LblCat");

    有没有抛出异常?是的,消息是什么?

    【讨论】:

    • 控制 lb=null 并且当我设置断点时它没有进入受保护的 void dlCategory_SelectedIndexChanged(object sender, EventArgs e) { Lb.ForeColor = System.Drawing.Color.Red; }
    • 感觉由于找不到正确的标签,所以返回的对象为null。然后,您应该在 dlCategory_SelectedIndexChanged 中引入此代码:- if(Lb != null) { Lb.ForeColor = System.Drawing.Color.Red;这将避免抛出异常。就查找标签而言,传递给 FindControl 的键不正确或 Item 不包含标签。
    • 我这样做了但是编译器没有编译这段代码 protected void dlCategory_SelectedIndexChanged(object sender, EventArgs e) { if (Lb != null) { Lb.ForeColor = System.Drawing.Color.Red; } }
    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 2018-11-01
    • 2011-03-31
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    相关资源
    最近更新 更多