#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>"); }
}
} 这就是我的代码了 请各位高手指点一下
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>"); }
}
} 这就是我的代码了 请各位高手指点一下
这段代码有点问题,虽然我不知道是哪里出了空引用导致的异常,但是从代码上来说,在使用对象之前,最好做一个判断,这是比较健壮的写法: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>"); }
{ 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#代码里面,关键字不能加颜色
labelDocOverview.Text = row["DocOverView"].ToString().Trim().Replace(keyWord, "<font color=red>" + keyWord + "</font>");//报错