DropDownList 默认值的问题。
我需要DropDownList在打开编辑的时候现实当前的选项。算是默认值吧。
同时我又给DropDownList添加了数据库里应该有的值。我用的控件绑定的方法获得数据库里的值。
但是DropDownList没有现实默认值。
求解决办法啊。
DropDownList是在表格里的。
------解决方案--------------------DropDownList有个默认值属性啊 selected=true,就可以给指定的数据默认。
------解决方案--------------------记下默认值的序号,然后
DropDownList1.SelectedIndex = 序号;
------解决方案--------------------DropDownList控件是一个相对比较简单的数据绑定控件,它在客户端被解释成<select></select>这样的HTML标记,也就是只能有一个选项处于选中状态。
DropDownList控件常见属性:
AutoPostBack属性:这个属性的用法在讲述基本控件的时候已经讲过,是用来设置当下拉列表项发生变化时是否主动向服务器提交整个表单,默认是false,即不主动提交。如果设置为true,就可以编写它的SelectedIndexChanged事件处理代码进行相关处理(注意:如果此属性为false即使编写了SelectedIndexChanged事件处理代码也不会马上起作用)。
DataTextField属性:设置列表项的可见部分的文字。
DataValueField属性:设置列表项的值部分。
Items属性:获取控件的列表项的集合。
SelectedIndex属性:获取或设置 DropDownList 控件中的选定项的索引。
SelectedItem属性:获取列表控件中索引最小的选定项。
SelectedValue属性:取列表控件中选定项的值,或选择列表控件中包含指定值的项。
另外,DropDownList控件默认情况下是第一个选项处于选中状态,如果我们想在绑定数据之后让某个选项处于选中状态,可以利用它的Items属性,DropDownList控件的Items属性其实是一个ListItemCollection的实例,ListItemCollection类有两个重要方法:
public ListItem FindByText (string text):在选项集合中查找指定文字的选项。
public ListItem FindByValue (string value) :在选项集合中查找指定值的选项。
ListItem item=DropDownList1.Items.FindByValue(User.post.postId.ToString());
if(item!=null)
{
item.Selected=true;
}
绑定之后加上上面这句。
------解决方案--------------------
SelectedIndex是Item的序列,不是值。
------解决方案--------------------你要的默认值是你自己添加进去的还是数据库里面存在的
------解决方案--------------------给个例子自己去尝试一下,没有问题,我就是这样实现的
DataSet ds = bllBusinessrole.GetList("1=1");
ddlRole.AppendDataBoundItems = true;
ddlRole.DataSource = ds;
ddlRole.DataBind();
------解决方案-------------------- <asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.DataSource = getDataTable();
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
DropDownList1.SelectedValue = "2";
}
public DataTable getDataTable()
{
string[] name =&n