假如你用一个TextBox绑定金额这个字段
TextBox tmpBox = (TextBox)DataList1.Items[i].FindControl("TextBox1");
double tmpPrice = Convert.ToDouble(tmpBox.Text);
if(tmpPrice <0)
{
tmpBox.ForeColor = System.Drawing.Color.Red;
}

解决方案 »

  1.   

    DataList1.Items[i]  是什么意思?
      

  2.   

    提示错误:索引超出范围。必须为非负值并小于集合大小。参数名: index
      

  3.   

    报错:未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  
      

  4.   

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
             this.DataList1.ItemDataBound +=new DataListItemEventHandler(DataList1_ItemDataBound);
    }-------------------------------------------private void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
    if(e.Item.ItemIndex > -1)
    {
                       TextBox tmpBox = (TextBox)e.Item.FindControl("TextBox1");
                       double tmpPrice = Convert.ToDouble(tmpBox.Text);
                       if(tmpPrice <0)
                       {
                          tmpBox.ForeColor = System.Drawing.Color.Red;
                        } }
    }