首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DropDownlist的数据绑定有关问题 请

2012-01-14 
DropDownlist的数据绑定问题 请高手指点我做测试的一个小web项目数据库用的是sqlserver2005我的页面上有一

DropDownlist的数据绑定问题 请高手指点
我做测试的一个小web项目   数据库用的是sqlserver2005
我的页面上有一个dropdownlist和gridview和一个按纽,一个lable
我的数据库只有一个表,叫customer,里边有两个字段,userID,userName.共有三条记录,对应的是1,jack       2,tom       3,sven
我单独将数据绑定到gridview的时候   ,可以显示所有的数据。
现在想在dropdownlist中列出所有的用户名,并在点按纽的时候对用户选中的用户名进行查询,将结果显示在gridview中,我在绑定数据到dropdownlist后,dropdownlist可以列出所有的用户名,但点按钮的时候搜索的结果只是第一个用户名的数据,只有jack的数据   ,无论我选的是tom还是sven,结果都是jack的数据,请高手指点一下到底是怎么回事,代码如下:

        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                string   connString   =   "SERVER=localhost;UID=sa;database=winner;pwd=123 ";
                SqlConnection   conn   =   new   SqlConnection(connString);
                DataSet   ds   =   new   DataSet();
                SqlDataAdapter   adapter   =   new   SqlDataAdapter();
                SqlCommand   cmd   =   new   SqlCommand();
                cmd.Connection   =   conn;
                cmd.CommandText   =   "SELECT   userID   ,userName   FROM     customer ";
                adapter.SelectCommand   =   cmd;
                adapter.Fill(ds);
               
                DropDownList1.DataSource   =   ds;
                DropDownList1.DataTextField   =   "userName ";
                DropDownList1.DataBind();
                 
        }
        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                string   connString   =   "SERVER=localhost;UID=sa;database=winner;pwd=123 ";//@ "Database=fuck;Server=OCDEV12\SQLEXPRESS;Integrated   Security=SSPI;uid=sa;pwd=123; ";//
                SqlConnection   conn   =   new   SqlConnection(connString);
               
                DataSet   ds   =   new   DataSet();
                SqlDataAdapter   adapter   =   new   SqlDataAdapter();
                SqlCommand   cmd   =   new   SqlCommand();
                cmd.Parameters.Add(new   SqlParameter( "@userName ",SqlDbType.VarChar));
                cmd.Parameters[ "@userName "].Value   =   this.DropDownList1.SelectedItem.Text;
                cmd.Connection   =   conn;
                cmd.CommandText   =   "SELECT     *   FROM     customer   where   userName   =   @userName ";


                adapter.SelectCommand   =   cmd;
                adapter.Fill(ds);
                GridView1.DataSource   =   ds;
                GridView1.DataBind();

        }

如果手动将dropdownlist的项加上,进行查找后则没有如上问题。

[解决办法]
ispostback
[解决办法]
写在if(!this.IsPostBack)里头
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string connString = "SERVER=localhost;UID=sa;database=winner;pwd=123 ";
SqlConnection conn = new SqlConnection(connString);
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT userID ,userName FROM customer ";
adapter.SelectCommand = cmd;
adapter.Fill(ds);

DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "userName ";
DropDownList1.DataBind();
}
}
[解决办法]
Page_Load 的绑定代码放在

if(!IsPostBack) {
// 这里...
}

热点排行