当一个TEXTBOX1中输入内容的时候-->鼠标离开【焦点不在】--> 就会根据TEXTBOX1中内容
到数据库去查找相关内容填写到TEXTBOX2怎么弄 ?用TextBox1_TextChanged 必须要是回车键才能响应,这个不符合要求  怎么改善?高手们都来解决吧  感激不尽_

解决方案 »

  1.   

    XMLHttpRequest实现无刷新验证用户名
    http://blog.csdn.net/Sandy945/archive/2009/05/12/4169870.aspx把div 换成 Textbox 就可以了
      

  2.   

    JS
    function a(){
    from1.select2.selectedindex=from1.select1.selectedindex;}在select1 后面调用下 就好了啊
      

  3.   

    我刚好项目中有一个跟你一样都功能你在textChange事件里面写就好了 ...在这个时间里面写一个从数据库中进行取值都方法就oK了
      

  4.   

    我的做法可能不是好做法,但是也给楼主做参考吧,抛砖引玉。//实现学院下拉菜单的级联显示
        protected void ddl_university_SelectedIndexChanged(object sender, EventArgs e)
        {
            //打开数据库
            SqlConnection sqlCnn = new SqlConnection(strCnn);
            sqlCnn.Open();        //联动绑定用户宿舍
            int university = DBOperater.GetSchoolID(this.ddl_university.SelectedValue.ToString(),sqlCnn);        DDLOperater.DDLBinding_department(university, sqlCnn, this.ddl_department);        //关闭连接
            sqlCnn.Close();
        }DBOperater里的代码如下//学校信息操作
        public static int GetSchoolID(string university, SqlConnection sqlCnn)
        {
            SqlCommand sqlCmd = new SqlCommand("select university_id from university where university_name='" + university + "'", sqlCnn);
            SqlDataReader sdr = sqlCmd.ExecuteReader();
            sdr.Read();
            int a = Convert.ToInt32(sdr[0]);
            sdr.Close();
            return a;
        }DDLOperater里的代码如下public static bool DDLBinding_department(int university, SqlConnection sqlCnn, DropDownList ddl)
        {
            try
            {
                SqlCommand sqlCmd = new SqlCommand("select * from University_Department where University_ID=" + university, sqlCnn);
                SqlDataReader sdr = sqlCmd.ExecuteReader();
                ddl.DataSource = sdr;
                ddl.DataTextField = "Department_Name";
                ddl.DataValueField = "Department_Name";
                ddl.DataBind();
                sdr.Close();            return true;
            }
            catch (Exception e)
            {
                return false;
            }    }
      

  5.   

    用ajax吧!给textbox1加这个事件onkeyup="membersj()"
    然后到JS中异步获取数据,再将获取的数据document.getElementById('TextBox2').value="异步获取的数据";
      

  6.   

    所问非所答,人家都说了失去焦点的时候。。
    那就写移出焦点事件,只不过绑定js方法写ajax
      

  7.   

    感激中.....
    实践一下......2楼的比较合理
    其它方法有待进一步论证Jelly_tracy  TextChanged 要回车触发,望提供简单示例 谢谢  还有很多多楼......
    一贴进步不少啊  
      

  8.   

    用javascript来实现联动效果。比较好吧。
      

  9.   

    不是 ,这个事件不需要回车触发,你可以tab  或者 鼠标点击在其他地方,只要他失去了焦点,他都可以触发,简单的例子你可以留下邮箱,我发给你一个demo  
      

  10.   


    ashx代码如下:
    <%@ WebHandler Language="C#" Class="NCR_MainTenance" %>using System;
    using System.Web;
    using System.Data.SqlClient;
    using System.Data;public class NCR_MainTenance : IHttpHandler {
        public void ProcessRequest (HttpContext context) {
            //context.Response.ContentType = "text/plain";        if (context.Request.QueryString["ito"].ToString() == "two")
            {
                GetCorrItem(context);
            }
            else if(context.Request.QueryString["ito"].ToString() == "one") //等于one的时候
            {
                if (context.Request.QueryString["item"] == "NeiItem")
                {
                    GetCorrId(context);
                }
                else if (context.Request.QueryString["item"] == "WaiOther")
                {
                    GetItemInfo(context);
                }
            }  
        }
        /// <summary>
        /// 获取客户信息
        /// </summary>
        private void GetCorrId(HttpContext context)
        {
            string ls_sql, ls_CorrId, ls_rtn;
            ls_CorrId = context.Request.QueryString["para"];
            //ls_CorrId = "080072";
            ls_sql = "select * from table1 where id = @id";
            SqlParameter[] parm = new SqlParameter[] {
                  SqlHelper.GetParameter("@id",SqlDbType.VarChar,30,"id",ls_CorrId)
            };
            try
            {
                DataTable dt = SqlHelper.ExecuteNonDT(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, ls_sql, null, parm);
                if (dt.Rows.Count > 0)
                {
                    ls_rtn = "";
                    foreach (DataRow r in dt.Rows)
                    {
                        ls_rtn = "名称:" + r["corr_name"];
                    }
                    context.Response.Write(ls_rtn);
                }
                else
                {
                    context.Response.Write("名称不存在!");
                }
            }
            catch (Exception ee)
            {
                context.Response.Write("查询名称出错!"+ee.Message);
            } 
        }
        /// <summary>
        /// 获取物料信息
        /// </summary>
        private void GetItemInfo(HttpContext context)
        {
            string ls_sql, ls_itemNo, ls_rtn;
            ls_itemNo = context.Request.QueryString["para"];
            //ls_itemNo = "xuz";
            ls_sql = "select * from table2 where item = @item";
            SqlParameter[] parm = new SqlParameter[] {
                  SqlHelper.GetParameter("@item",SqlDbType.VarChar,60,"item",ls_itemNo)
            };
            try
            {
                DataTable dt = SqlHelper.ExecuteNonDT(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, ls_sql, null, parm);
                if (dt.Rows.Count > 0)
                {
                    ls_rtn = "";
                    foreach (DataRow r in dt.Rows)
                    {
                        ls_rtn = "名称:" + r["name"];
                    }
                    context.Response.Write(ls_rtn);
                }
                else
                {
                    context.Response.Write("名称不存在!");
                }
            }
            catch (Exception ee)
            {
                context.Response.Write("查询名称出错!"+ee.Message);
            } 
        }
        /// <summary>
        /// 获取多重信息
        /// </summary>
        private void GetCorrItem(HttpContext context)
        {
            string org_order, ls_item_no, ls_sql, ls_rtn;
            org_order = context.Request.QueryString["para"];        //org_order = string.IsNullOrEmpty(org_order) ? "" : org_order;
            ls_sql = "select * from table3 where no =@no";
            SqlParameter[] parm = new SqlParameter[] {
                  SqlHelper.GetParameter("@no",SqlDbType.VarChar,30,"no",org_order)
            };
            try
            {
                DataTable dt = SqlHelper.ExecuteNonDT(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, ls_sql, null, parm);
                if (dt.Rows.Count > 0)
                {
                    ls_rtn = "";
                    foreach (DataRow r in dt.Rows)
                    {
                        ls_rtn = "名称:" + r["name"];
                    }
                    context.Response.Write(ls_rtn);
                }
                else
                {
                    context.Response.Write("名称不存在!");
                }
            }
            catch (Exception ee)
            {
                context.Response.Write("查询名称出错!"+ee.Message);
            }
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }}
      

  11.   

    你不要 这样写 函数 private void GetItemInfo(HttpContext context)
        
    可以写成private string GetItemInfo(string id)
         
    这样的形式