我的数据库里有
"省份"字段
ID    省
1     北京
2     山东
3     安徽我想把它们添到Dropdownlist里,但第一个一定要“请选择省份”而它的value值要是0,因为如果人家没有选择就提交,逻辑层就能得到ID=0然后,提示用户。

解决方案 »

  1.   

    你的Dropdownlist里有4项,第一项是请选择 value 为 0,提交时判断下dropdownlist的value是不是0就可以阿
      

  2.   

    那就增加一条吧
    DropDownList1.Items.Insert(0,new ListItem("省","0"));
      

  3.   

    用happyfamily(FreeHorse) 的方法,然后在客户端提交前验证,比在服务端验证会带来更好的用户体验。
      

  4.   

    To lionelwy(顺) ,beger(乞者)
    问题是我要用编程的方式,把数据库的数据添加到控件里。数据库的ID字段不能有0
      

  5.   

    string sSQL="select * from TreeList";// where UpNote is not null";
    ds=mydb.FillDataSet(sSQL,"fenlei");
    this.ddl_fenlei.Items.Clear();
    ddl_fenlei.Items.Add("选择板块");
    for(int i=0;i<ds.Tables["fenlei"].Rows.Count;i++)
    {
    dr=ds.Tables["fenlei"].Rows[i];
    this.ddl_fenlei.Items.Add(dr["Title"].ToString());

    }//end for ithis.ddl_fenlei.DataBind();
    this.DataBind();
      

  6.   

    DropDownList1.Items.Insert(0,new ListItem("请选择",""));这样值为空
      

  7.   

    有点了解楼主的意思了~ 你的这些数据是从库里面逐条取出来,然后绑定到DropDownList 你希望绑定以后的DropDownList中有一个value值为0的“省份”,作为第一条,是这个意思不?那样的话,我觉得happyfamily(FreeHorse) 的方法没有问题啊,你在你往DropDownList上绑数据之前,就人为加入一条值,DropDownList1.Items.Insert(0,new ListItem("省","0"));
    这和你数据库中ID字段没有任何关系啊....你数据库里面该放什么省份名就还放什么,不影响你用~~
      

  8.   

    按错键了,接上面的:其实只要在加载这个dorpdownlist时,先加一个"选择省份"就可以,至于当没有选择时,可以先判断一下:
    if(dorpdownlist.selectitem.text='选择省份')
    {
     selectitem.value="0";
    }
    这样是麻烦了一点,,如果你一定要得到数据里的ID,我建议你写一个方法,根据省份可以得出ID的,以用也可用于它用:/// <summary>
    /// 根据提供的字段查询并返回需要的字段值.
    /// </summary>
    /// <param name="sScan">需要查询的字段</param>
    /// <param name="sValue">查询的字段值</param>
    /// <param name="ReString">返回的字段名</param>
    /// <param name="tabname">表名</param>
    /// <returns>返回ReString的字段值</returns>
    public string valueTOvalue(string sScan,string sValue,string ReString,string tabname)
    {
    string sReturn; try
    { if(sConn.State==System.Data.ConnectionState.Closed)
    this.DB_Open(); sCmd=new System.Data.SqlClient.SqlCommand();
    sCmd.Connection=sConn;
    sCmd.CommandText="select * from " + tabname + " where " + sScan + "='" + sValue + "'"; sDR=sCmd.ExecuteReader(); if(sDR.Read())
    {
    sReturn=sDR[ReString].ToString();
    }
    else
    {
    sReturn="未找到相应字段";
    } sCmd.Dispose();
    }
    catch (Exception e)
    {
    sDR.Close();
    return("查询失败:" + e.Message);
    } sDR.Close();
    return sReturn; }//end UserTOid
      

  9.   

    在DropDownList绑定的最后添加:
    this.DropDownList1.DataSource = dr;
    this.DropDownList1.DataBind();
    * this.DropDownList1.Items.Insert(0,new ListItem("请选择省份","0"));保证管用。
      

  10.   

    同意 adamzb() 
    必须在 邦定数据源后添加
    否则前面的邦定值会被覆盖
      

  11.   

    //赋值
    this.ddlLogType.Items.Add(new ListItem("省", "0"));
    //取值
    直接获取她地selectitem.value 就是他的id 取selectitem.text取出来就是省 
    这样就可以判断她是否选择地是0了 
      

  12.   

    this.DropDownList1.Items.Add后,
    this.DropDownList1.SelectIndex = this.DropDownList1.Items.Count -1;
      

  13.   

    DropDownList1.Items.Insert(0,new ListItem("请选择省份","0"));
      

  14.   

    array.插入(0,"省份")
    Dropdownlist.datase***=array
    Dropdownlist.datab**()就行了啊,在绑定之前在第一个.插入值就行了啊,搞得这么麻烦