1. DataValueField和DataTextField属性的区别:
前者用来表示该控件触发事件返回服务器时的值,获取或设置为各列表项提供值的数据源字段。(
后者用来表示前台显示的值,获取或设置为列表项提供文本内容的数据源字段。
下面看一段代码:
DataView dv = UiOperator.ShowCategory(); //返回日志所有分类的一个视图
DropDownList1.DataSource = dv; //绑定到该控件
DropDownList1.DataValueField = "cateNo";
DropDownList1.DataTextField = "sortName";
DropDownList1.DataBind();
DropDownList1.Items.Add("全部");
再看下面一段代码:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Program.Initialization();
if (DropDownList1.SelectedValue == "全部")
{
DataView dv1 = UiOperator.ShowDiary();
GridView1.DataSource = dv1;
GridView1.DataBind();
}
else
{
DataView dv = UiOperator.ShowDiaryByCategory(DropDownList1.SelectedValue); GridView1.DataSource = dv;
GridView1.DataBind();
}
Program.ReleaseObject();
}
黑体字的值为DropDownList1.DataValueField = "cateNo";,通过分类Id来返回类别下的所有日志。
2. 当运行一个有该控件的页面时,如果想让dropdownlist的选择项为我们想要的,怎么做呢,代码如下:
int count=category.Items.Count; //获得dropdownlist的里所有项的数量
for (int j = 0; j < count; j++) { //遍历循环里面的所有项
if (category.Items[j].Text == di.BelongOfCategory.SortName) { //判断里面的项的文本是否和一个值相等
category.SelectedIndex=j; //如果相等,则选中该项
break;
}
}