当前位置:编程学习 > C#/ASP.NET >>

asp.net select控件服务器端动态绑定数据、解决既可选择也可输入问题!问题

因为asp:DropDownList控件只能在列表中选择,不能输入;为了解决此问题,改用HTML <Select  runat="server" >控件解决。
    可是依然有问题:
     1)<Select  runat="server" >依然不能输入值进行查询;
     2)改变<Select>中的值,DropDownListDb_ServerChange(object sender, EventArgs e)事件没有执行;
代码贴出来,请高手帮助!


前台页面:
<asp:DropDownList></asp:DropDownList>控件只能在列表中选择,不能输入;
改用
 <select id="DropDownListDb"   onserverchange="DropDownListDb_ServerChange" runat="server" >          </select>


后台代码:

   protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {              
                Query();
                InitData();
            }

        }
        /// <summary>
        /// 初始化页面数据
        /// </summary>
        private void InitData()
        {
            //初始化DropDownList1的数据源  
            DataTable dt = Bs.Query(new Hashtable ());           
            DropDownListDb.Items.Clear();
            DropDownListDb.Items.Add(new ListItem("所有电表", ""));

            foreach (DataRow dr in dt.Rows)
               DropDownListDb.Items.Add(new ListItem(dr["VoltMeter"].ToString(), dr["VoltMeter"].ToString()));
       
            
        }
        /// <summary>
        /// 根据页面上用户输入的查询条件,查询数据
        /// </summary>
        private void Query()
        {
            //初始化:GridView的数据源
            DataTable dt1 = null;
            Hashtable ht = new Hashtable();
            //FV基站信息数据绑定
            if (DropDownListDb.Value.ToString() != "")
            {
                ht.Add("VoltMeter", DropDownListDb.Value.ToString());
                dt1 = Bs.Query(ht);
                FV.DataSource = dt1;
                FV.DataBind();
            }
            else
            {
                FV.DataSource = null;
                FV.DataBind();

            } 
           //保存下拉框的选择项到ViewState数组对象
            ViewState.Add("DropDownListDb", DropDownListDb.Value); 

        }     
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void DropDownListDb_ServerChange(object sender, EventArgs e)
        {
       
            Query();           
        }       --------------------编程问答-------------------- 我感觉这种效果用ajax能实现,好像HTML <Select  runat="server" >这样的双击事件都不能在后台文件写
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,