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