DataTable dt = new DataTable();        videotype vt = new videotype();        dt = vt.ShowAllType(Convert.ToInt32(Session["userid"]));        ddlVideoType.DataSource=dt;        ddlVideoType.DataTextField = "vCateName";
        ddlVideoType.DataValueField = "vCateId";
              ddlVideoType.DataBind(); 
下拉列表能取到数据。但ddlVideoType.DataValueField 总是第一个显示的值。不知道原因

解决方案 »

  1.   

    绑定放到
            if (!Page.IsPostBack)
            {}
      

  2.   


    //初次page_load()绑定要放在if(!page.ispostback)中if(!page.ispostback)
    {
    DataTable dt = new DataTable();         videotype vt = new videotype();         dt = vt.ShowAllType(Convert.ToInt32(Session["userid"]));         ddlVideoType.DataSource=dt;         ddlVideoType.DataTextField = "vCateName"; 
            ddlVideoType.DataValueField = "vCateId"; 
                  ddlVideoType.DataBind(); 
    }