一个dropdownlist
绑定的数据是:
1.北京
2.上海
3.香港第一次加载的时候dropdownlist默认的第一行是北京,现在的问题是要选北京的话首先要选一个上海或香港后才能回来选北京,如何在第一次就可以在选择北京时触发事件,怎么做?

解决方案 »

  1.   

    在绑定的时候增加一行
    DDR.Items.Insert(0, new ListItem("请选择", "-1"));
    就好了啊
    然后判断一下就可以了
      

  2.   

        下拉框中的每一个选项都有text  value两个属性,你可以把北京的value值设成1,然后每次刷新的时候让他定位到0或者-1只要不1就成,然后选择北京。
      

  3.   

    SqlDataReader sdr = cmd.ExecuteReader();
                this.ddl.DataSource = sdr;
                this.ddl.DataValueField = "ID";
                this.ddl.DataTextField = "Name";
                this.ddl.Items.Insert(0, new ListItem("请选择", "-1"));
                this.ddl.DataBind();这样好象不行....该怎么写?
      

  4.   

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.DropDownList1.Items.Add("北京");
                this.DropDownList1.Items.Add("上海");
                this.DropDownList1.Items.Add("香港");
                this.DropDownList1.DataBind();
            }
        }    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //每次选择后执行的事件
             string city = this.DropDownList.SelectedItem.Text;
            DoSomething(city);
        }    protected void DropDownList1_DataBound(object sender, EventArgs e)
        {
            //只在第一次执行的事件
            string city = this.DropDownList.SelectedItem.Text;
            DoSomething(city);
        }
      

  5.   

    DDL的数据是绑定到数据库里的,不知道怎么弄呢..
      

  6.   

    那和你的数据源没有关系啊。你只要执行了dropdownlist.DataBind()方法来绑定数据源,就会触发DataBound事件
      

  7.   

    加一行 “请选择”
    [code=C#]        ddl_province.DataSource = dt;
            ddl_province.DataTextField = "ProvinceName";
            ddl_province.DataValueField = "Provinceid";
            ddl_province.DataBind();
            ListItem item = new ListItem();
            item.Text = "请选择";
            item.Value = "0";
            ddl_province.Items.Add(item);
    code]
      

  8.   


    <html>...
    </html>
    <script...>
    这里调一下你选上海或香港后的函数.
    <...>
      

  9.   

    加一行   “请选择”
    就防止lz的情况了
    ddl_province.DataSource   =   dt; 
                    ddl_province.DataTextField   =   "ProvinceName "; 
                    ddl_province.DataValueField   =   "Provinceid "; 
                    ddl_province.DataBind(); 
                    ListItem   item   =   new   ListItem(); 
                    item.Text   =   "请选择 "; 
                    item.Value   =   "0 "; 
                    ddl_province.Items.Add(item); 
      

  10.   

    DoSomething是怎么来的,这点没看懂?
      

  11.   

    ddl_province.DataSource   =   dt; 
                    ddl_province.DataTextField   =   "ProvinceName "; 
                    ddl_province.DataValueField   =   "Provinceid "; 
                    ddl_province.DataBind(); 
                    ListItem   item   =   new   ListItem(); 
                    item.Text   =   "请选择 "; 
                    item.Value   =   "0 "; 
                    ddl_province.Items.Add(item); 第一次加载Selected默认是北京...
      

  12.   

    DoSomething是你每次选择执行的事情啊
      

  13.   

    一个好的办法就是前台自己写个 javascript脚本来调用后台的事件,可以用dopostback("AAA");
    AAA就是select控件的名字,事件当然是属性selectindexchanged的值啦,非常方便适合于比较复杂的情况下来用地,没事少刷新页面了,什么年代了,学点ajax,怪不得搞j2ee开发地瞧不起我们.net程序员。大家加油啊
      

  14.   

    DoSomething这个是定义的吗?
    我写的时候visual没有提示...
      

  15.   

    问题基本已经解决了只是排序上好象还是有点问题,我想的按value来排序,但默认的value="0",text="请选择"这一列在最后一列,怎么显示成第一列?(不是selected选择value="0",是下拉出来dropdownlist里面的排序要让"请选择出现在第一行的位置.")
    value  text
    0      请选择
    1      北京
    2      上海
    3      香港
      

  16.   

    第一次加載的時候,就把DropDownList的值設成“0”,如:this.DropDownList1.SelectedValue = "0";
      

  17.   

    楼上误解我的意思了 SelectedValue是选择了的"0"了这样后下拉列表是按下面的样子排列的:
    1北京
    2上海
    3香港
    0请选择我是想让dropdownlist拉开后显示成
    0请选择
    1北京
    2上海
    3香港
      

  18.   


    ddl_province.DataSource   =   dt; 
    ddl_province.DataTextField   =   "ProvinceName "; 
    ddl_province.DataValueField   =   "Provinceid "; 
    ddl_province.DataBind(); 
    ddl_province.Items.Insert(0, new ListItem("请选择", "0"));//将新ITEM插入到第一位
      

  19.   

    第一次加载的时候dropdownlist默认的第一行是北京,现在的问题是要选北京的话首先要选一个上海或香港后才能回来选北京,如何在第一次就可以在选择北京时触发事件,怎么做?
    会发生这种事情吗?你不默认值设置成 北京不就好了吗?
      

  20.   

    一个好的办法就是前台自己写个   javascript脚本来调用后台的事件,可以用dopostback( "AAA ");
    AAA就是select控件的名字,事件当然是属性selectindexchanged的值啦,非常方便适合于比较复杂的情况下来用地,没事少刷新页面了,什么年代了,学点ajax,怪不得搞j2ee开发地瞧不起我们.net程序员。大家加油啊
    ==============
    什么话么,j2ee就很牛比吗.NET是可以简化web程序的开发,但并不代表它不能进一步深化,深的去了!!!