if(!IsPostBack)
{删除时需要遍历datagrid上的item
用DataGrid的DataKeys获取id// 从Web.config文件中读取连接字符串
strConn=ConfigurationSettings.AppSettings["stock"];

//=====================初始化下拉框======================
// 连接到stock数据库
cn=new SqlConnection(strConn);
// 打开连接
cn.Open();
         string sql="select classid from classinfo";
         // 创建Command对象
SqlCommand classcm=new SqlCommand(sql,cn);
// 执行ExecuteReader()方法  
SqlDataReader dr=classcm.ExecuteReader();
dropdownlist1.DataSource=dr;
dropdownlist1.DataTextField="classid";
dropdownlist1.DataBind();
// 关闭连接
cn.Close();
//====================================================
}

解决方案 »

  1.   

    取的dropdownlist的植是dropdownlist1.SelectedItem.Value 我怀疑是你的dropdownlist的selected都是选择了第一个,
    你选择一下dropdownlist,再看看源文件,看看,selected是否已经改变啦
    你改为
    void Page_Load(Object Src, EventArgs E ) 
    {
    if (Page..IsPostBack) 
    {
    // 从Web.config文件中读取连接字符串
    strConn=ConfigurationSettings.AppSettings["stock"];

    //=====================初始化下拉框======================
    // 连接到stock数据库
    cn=new SqlConnection(strConn);
    // 打开连接
    cn.Open();
             string sql="select classid from classinfo";
             // 创建Command对象
    SqlCommand classcm=new SqlCommand(sql,cn);
    // 执行ExecuteReader()方法  
    SqlDataReader dr=classcm.ExecuteReader();
    dropdownlist1.DataSource=dr;
    dropdownlist1.DataTextField="classid";
    dropdownlist1.DataBind();
    // 关闭连接
    cn.Close();
    //====================================================
    }
    }
      

  2.   

    if (!IsPostBack)
    {
    // 从Web.config文件中读取连接字符串
    strConn=ConfigurationSettings.AppSettings["stock"];

    //=====================初始化下拉框======================
    // 连接到stock数据库
    cn=new SqlConnection(strConn);
    // 打开连接
    cn.Open();
             string sql="select classid from classinfo";
             // 创建Command对象
    SqlCommand classcm=new SqlCommand(sql,cn);
    // 执行ExecuteReader()方法  
    SqlDataReader dr=classcm.ExecuteReader();
    dropdownlist1.DataSource=dr;
    dropdownlist1.DataTextField="classid";
    dropdownlist1.DataBind();
    // 关闭连接
    cn.Close();
    //====================================================
    }
      

  3.   

    Page_Load():
    ....绑定你的dropdownlist...  string strTmp = string.Empty;
    if (MyDropDownList.Items.Count!= 0)

    strTmp = MyDropDownList.SelectedItem.Text;
    }
    if (!strTmp.Equals(string.Empty))
    {
    ListItem tmpItem = new ListItem(); 
    tmpItem = MyDropDownList.Items.FindByText(strTmp);
    MyDropDownList.SelectedIndex = MyDropDownList.Items.IndexOf(tmpItem);
    }
      

  4.   

    void Page_Load(Object Src, EventArgs E ) 
    {
    if(!IsPostBack)
    {
    // 从Web.config文件中读取连接字符串
    strConn=ConfigurationSettings.AppSettings["stock"];

    //=====================初始化下拉框======================
    // 连接到stock数据库
    cn=new SqlConnection(strConn);
    // 打开连接
    cn.Open();
             string sql="select classid from classinfo";
             // 创建Command对象
    SqlCommand classcm=new SqlCommand(sql,cn);
    // 执行ExecuteReader()方法  
    SqlDataReader dr=classcm.ExecuteReader();
    dropdownlist1.DataSource=dr;
    dropdownlist1.DataTextField="classid";
    dropdownlist1.DataBind();
    // 关闭连接
    cn.Close();
    //====================================================
    }
    }
      

  5.   

    我知道原因了,第一排序顺序按时间,第二顺序是帐号
     mbm
     meetweb
     MFC2001三个帐号头一个字母都是m 就比第二个字母b e f
    哇我这个帐号太吃亏了!下次申请个aaaa嘿嘿嘿~~~~
      

  6.   

    er....沉默是金!又是你呀~~你的Id要改改了,那名字真不适合你。各位,我这样改过了:
    第一,加了if (Page..IsPostBack)这个判断。
    第二,把dropdownlist1.SelectedItem.Text 改为 dropdownlist1.SelectedItem.Value 好像还是没有任何效果。
    还有别的可能吗?
    另外, meetweb(niky),
    选择一下dropdownlist,再查看源文件,selected应该不会立即改变吧?我有没有在这个控件里设置什么事件在另外,这个页面上我有两个dropdownlist,一个是从数据库中绑定的(A),一个是直接设好的(B),提交以后,A的值还是1,B的值会改变。到底怎么回事?
      

  7.   

    vb .net的话好像应该是
    if (not IsPostBack) 
      

  8.   

    我是用c#哟~顺便另外再问一个:
    c#中怎么结束程序的运行?
    比如发现一个error,下面的程序就不运行了。
    exit;的意思。多谢楼上各位了!!
      

  9.   

    try
    {
    //code 1
    //code 2
    }
    catch
    {
    Response.Write("sorry");
    }
    code1出错时,code2就不运行了,进入catch
      

  10.   

    我是问
    exit(0);
    在c#中有么?
    我看了好像没有哦。
      

  11.   

    举个例:
    Response.Write("第一条语句");
    exit(0);
    Response.Write("第二条语句,因为exit的出现,无法打印出来");这里面的exit(0)可以用什么代替?
      

  12.   

    exit(0);我可没用过
    不过有exit方法
    Dim i
    i = 1
    Do While i <= 200000
       If i > {movie.STARS} Then Exit Do
       i = i + 1
    Loop
    formula = 20
      

  13.   

    mbm(沉默是金) ,VB里面是那样,c#不支持呀。 wnjer(WNJER) ,谢谢了。
    楼上各位,我马上给分。