<asp:CheckBoxList ID="CheckBoxList1" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
DataSourceID="SqlDataSource1" DataTextField="city" DataValueField="au_id" OnDataBound="CheckBoxList1_DataBound1"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged1">
<asp:ListItem>不选择</asp:ListItem>
</asp:CheckBoxList>
中
<option value=DataValueField>DataTextField</option>
呈现在HTML里就是这样的效果
或者说:
DataTextField是显示出来的内容,DataValueField是你controlid.selectedvalue的值,比如说吧,一般DataTextField是员工的名字,张三,里斯等,DataValueField是员工的id,名字可以重复,但是id不可以重复,可以作为一个员工的唯一标识,根据标识处理数据,就不会出错了,当然了,你也可以把两个弄成一样的,也是可以的
你在数据源绑定的时候,比如绑定了到一个DataTable上,控件怎么知道用什么字段显示啊。DataTextField 属性就是显示的是哪个字段。DataValueField 就是你选定某项时所对应的值。比如:
class User
{
public string Name;
public int ID;
}
如果绑定 Name就是TextField,ID就是ValueField
而偶取值的时候,采用代码
int n = CheckBoxList1.Items.Count;
//将列表项数赋值给一个整数 n
for (int i = 0; i < n; i++)
{
if (CheckBoxList1.Items[i].Selected)
{//如果当前项被选中的话
string txt = CheckBoxList1.Items[i].Text;
//将当前项的值赋给字符串变量 txt
string t = txt.Replace(" 请投我一票吧", "<br>");
//将txt中的字符替换成换行符
Response.Write(t);
string xu= CheckBoxList1.SelectedValue.ToString();
this.Page.RegisterStartupScript("haha", "<script>alert('" + xu + "');</script>");
//this.ClientScript.RegisterStartupScript(this.GetType(), "sb", "alert('xu');", true);
}
}
获取DataTextField的值:
strText=dropdownlist.SelectedItem.Text
获取DataValueField的值
strValue=dropdownlist.SelectedItem.Value
yourdropdownlistid.SelectedValue.ToString()
yourdropdownlistid.Selecteditem,text.ToString()