#region//声明全局变量
    int integer=1;
    private string keyWord
    {
        
        get { return this.ViewState["keyWord"] as string; }
        set { this.ViewState["keyWord"] = value; }
    }
    public int fileSequence
    {
    
        get
            { 
                    
                return integer; 
            }
        set {integer = value; }
    }
    #endregion
    protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!IsPostBack)
        {
            GetFileDetail();
            
        }
        else
        {
            keyWord = TxtOverview.Text;
            //GetFileDetail();
        }    }  protected void GridViewFileDetail_RowDataBound(object sender, GridViewRowEventArgs e)
    {        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            DataRowView row = (DataRowView)e.Row.DataItem;
            if (!string.IsNullOrEmpty(keyWord))
            {                Label labelFileName = (Label)e.Row.FindControl("Label2");
                Label labelDocOverview = (Label)e.Row.FindControl("Label3");
                labelFileName.Text = row["DocName"].ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");
                labelDocOverview.Text = row["DocOverView"].ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");            }
                }
    } 这就是我的代码了 请各位高手指点一下

解决方案 »

  1.   


    这段代码有点问题,虽然我不知道是哪里出了空引用导致的异常,但是从代码上来说,在使用对象之前,最好做一个判断,这是比较健壮的写法:if (!string.IsNullOrEmpty(keyWord))
     {        Label labelFileName = (Label)e.Row.FindControl("Label2");
            Label labelDocOverview = (Label)e.Row.FindControl("Label3");
            if(labelFileName != null && labelDocOverview != null)  {
                    labelFileName.Text = (row["DocName"]??"").ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");                labelDocOverview.Text = (row["DocOverView"]??"").ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");  }
      

  2.   

    if (!string.IsNullOrEmpty(keyWord))
     {        Label labelFileName = (Label)e.Row.FindControl("Label2");
            Label labelDocOverview = (Label)e.Row.FindControl("Label3");
            if(labelFileName != null && labelDocOverview != null)  {
                    labelFileName.Text =(row["DocName"]??"").ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");                labelDocOverview.Text =(row["DocOverView"]??"").ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");}在c#代码里面,关键字不能加颜色
      

  3.   

    首先谢谢 给位来帮忙!!  labelFileName.Text = row["DocName"].ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");//报错
                    labelDocOverview.Text = row["DocOverView"].ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");//报错