没有数据库绑定的DropDownList用<asp:dropdownlist id="ddlist" runat="server">
<asp:ListItem Value="1">公司新闻</asp:ListItem>
<asp:ListItem Value="2">行业动态</asp:ListItem>
<asp:ListItem Value="3">招聘信息</asp:ListItem>
</asp:dropdownlist>ddlist.SelectedItem.Value 可以得到正确值,选什么value的值就是什么.
为什么数据库绑定后的DropDownList ddlist.DataSource=ds;
ddlist.DataTextField="name";
ddlist.DataValueField="id";
ddlist.DataBind();ddlist.SelectedItem.Value 得到的值总是第一个的值,如总是招聘信息的值3
<asp:ListItem Value="1">公司新闻</asp:ListItem>
<asp:ListItem Value="2">行业动态</asp:ListItem>
<asp:ListItem Value="3">招聘信息</asp:ListItem>
</asp:dropdownlist>ddlist.SelectedItem.Value 可以得到正确值,选什么value的值就是什么.
为什么数据库绑定后的DropDownList ddlist.DataSource=ds;
ddlist.DataTextField="name";
ddlist.DataValueField="id";
ddlist.DataBind();ddlist.SelectedItem.Value 得到的值总是第一个的值,如总是招聘信息的值3
if(!IsPostBack)
{
con.open();
strSQL = "select ID,urealname from MIS_Users ";
adp = new SqlDataAdapter(strSQL,con.myConnection);
ds=new DataSet();
adp.Fill(ds);
DataView dvTree = new DataView(ds.Tables[0]);
//放入列表
UserID.Items.Clear();
ListItem emptyItem=new ListItem();
emptyItem.Text="";
emptyItem.Value="";
UserID.Items.Add(emptyItem);
foreach(DataRowView Row in dvTree)
{
ListItem newItem=new ListItem();
newItem.Text=Row["urealname"].ToString();
newItem.Value=Row["ID"].ToString();
UserID.Items.Add(newItem);
}
con.Close();
}
if(UserID.SelectedValue!="")//获取选中的值!
{
sUserID=UserID.SelectedValue;
}
将下拉框的 属性 autopostback 设为ture 试试
不行啊.
if(!Page.IsPostBack)
{
//....建立ds
ddlist.DataSource=ds;
ddlist.DataTextField="name";
ddlist.DataValueField="id";
ddlist.DataBind();
}
{
//进行绑定的代码..
}!this.IsPostBack表示的是第一次加载时进行绑定...如果不加句,那么每次提交时,会先调用page_load事件,重新绑定,从而导致每次取到的Value都是第一个的...