有没有办法选择 -1 索引而new ListItem("", "-1",true))
不像 jQuery 那样在后面添加代码?
这是一个例子:
你的意思是这样吗?
DropDownList1.SelectedIndex = -1;
这就是人们通常从代码隐藏中做到这一点的方式。
ETA:我现在明白你在说什么了。而且恐怕我看不到如何从服务器端完成它。您在服务器端所能做的就是控制渲染。据我所知,即使您渲染此代码:
<select id="testSelect" selectedIndex="-1">
...它仍然出现,顶部选项似乎已被选中。
看起来好像只有在渲染后使用 javascript 将其显式设置为 -1 才会出现,并且绝对没有选择任何内容。看起来好像它不能在 HTML 中以声明方式完成。
如果您可以找到一种在 HTML 中编写标记的方法,以便它在加载时以这种方式显示,那么您可以在代码隐藏(使用.AddAttribute()
或类似)中调整呈现,但如果不能通过声明来完成,它'将需要javascript。
(您当然可以编写一个 jQuery 片段来将所有下拉列表更改为 selectedIndex = -1,但您会想到这一点!)
如果您在Page_Load事件上绑定它,(AutoPostBack='True')
它会回发。每次更改索引时它都会重新绑定
if (!IsPostBack)
{
BindDropDownList1();
}
(或者)
如果上述解决方案不起作用,请尝试添加一个空项目,如图所示:
this.myDropDownList.Items.Add(new ListItem("Select...", ""));
你可以这样做
字符串 selectStr = "选择"; 字符串 allStr = "全部"
ListItem allLI = new ListItem(allStr,allStr);
ListItem selectLI = new ListItem(selectStr,selectStr);
DropDownList.Items.Add(selectLI); DropDownList.Items.Add(allLI);
//用查询返回的列表填充 DropDownList 的代码
DropDownList.SelectedValue = selectStr;