问题:根据关键字查询后,点击详细页面对所查询的关键字标红

效果如下:

.NET -------  根据关键字查询后,点击详细页面对关键字标红_数据库

一、主要思路:

1、获取所查询的关键字字段和对应值,

2、将字段与值传送到详细页面

3、根据字段和值将数据库中的数据对应替换

 

二、实现

1、定义两个变量用于存储和传递

    #region 关键字标红
    public string _sFieldName = string.Empty;
    public string _sFieldValue = string.Empty;  
    #endregion

2、在查询的时候进行赋值

    string sText = this.ddlDeil2.SelectedItem.Text;
    string sValue = this.tbDeil2.Text.Trim();
    _sFieldValue = sValue;
    if (sText == "姓名")
    {
       strsql += " and JobUser_infoName like '%" + sValue + "%'";
       _sFieldName = "JobUser_infoName";

    }

3、点击详细页面时进行传值

  <a href="javascript:return false;" title="详细"  onclick="javascript:WebDialogLoad('详细',1200,750, 'UserInfo_Manage_Show_win.aspx?pwidth=1180&pheight=630&id=<%# DataBinder.Eval(Container.DataItem,"JobUserGuid") %>&edit=show&sfname=<%=_sFieldName %>&sfvalue=<%=_sFieldValue %>&btn=<%=btnSearch.ClientID %>')" >
      <%# DataBinder.Eval(Container.DataItem,"JobUser_infoName") %>
   </a>  

4、在详细页面接受从父页面传送的值

 public string _sFieldName
    {
        get
        {
            if(Request["sfname"] == null)
                return "";
            else
                return Request["sfname"].ToString();
        }
    }

    public string _sFieldValue
    {
        get
        {
            if(Request["sfvalue"] == null)
                return "";
            else
                return Request["sfvalue"].ToString();
        }
    }

5、展示时,将数据库中关键字替换

  if(_sFieldName == "JobUser_infoName")
  {
       this.tbJobUser_info_Name.Text = job_userinfo.JobUser_infoName.Replace(_sFieldValue,"<font color='red'>"+ _sFieldValue + "</font>");//姓名
  }
  else
  {
       this.tbJobUser_info_Name.Text = job_userinfo.JobUser_infoName.ToString();//姓名
   }