有没有一种方法可以选择-1索引而不需要像jQuery那样从代码中添加new ListItem("", "-1",true))
?设置SelectedIndex -1 ASP.NET DropDownList
下面是一个例子:
有没有一种方法可以选择-1索引而不需要像jQuery那样从代码中添加new ListItem("", "-1",true))
?设置SelectedIndex -1 ASP.NET DropDownList
下面是一个例子:
你的意思是这样的吗?
DropDownList1.SelectedIndex = -1;
这就是通常从代码隐藏的方式。 ETA:我现在看到你在说什么了。我担心我不知道如何从服务器端完成。你可以在服务器端做的所有事情都是控制渲染。据我所知,即使您呈现此代码:
<select id="testSelect" selectedIndex="-1">
...它仍然出现与顶部选项似乎被选中。
看起来好像只有在渲染后明确将其设置为-1后,它才会显示为绝对没有选中的内容。它出现就好像它不能在HTML中声明一样。
如果您可以找到一种方法在HTML中编写标签,使其在加载时出现这种方式,那么您可以在代码隐藏(使用.AddAttribute()
或类似方法)中调整渲染,但是如果无法使用一个声明,它需要JavaScript。
(你当然可以写一个jQuery片断改变所有的下拉菜单来的selectedIndex = -1,但你会想到这一点!)
如果你在的Page_Load事件它结合它并回发(AutoPostBack='True')
。它会简单地重新绑定索引被改变
if (!IsPostBack)
{
BindDropDownList1();
}
(或)
以往时间如果上述溶液多申“T工作尝试添加一个空项,如下所示:
this.myDropDownList.Items.Add(new ListItem("Select...", ""));
不,我不想添加一个新的ListItem,请看看jQuery是如何工作的http://jsfiddle.net/eL8sn/ – christiangobo 2013-02-15 14:55:55
JQuery是一个客户端代码,但你试图从codebhind这是服务器端。必须这样做,或者尝试使用正常的html控件并为此使用ajax。 – coder 2013-02-15 14:58:25
SelectedIndex是代码隐藏或客户端的相同属性,当.NET渲染DropDownList时,它将像普通的html控件一样呈现。 – christiangobo 2013-02-15 15:05:20
你可以做到这一点
串selectStr = “SELECT”; string allStr =“ALL”
ListItem allLI = new ListItem(allStr,allStr);
ListItem selectLI = new ListItem(selectStr,selectStr);
DropDownList.Items.Add(selectLI); DropDownList.Items.Add(allLI);
//代码,以填补该查询返回
列表DropDownList的DropDownList.SelectedValue = selectStr;
感谢您的问题“无需添加新的ListItem” – christiangobo 2013-02-16 19:23:58
它不工作,始终停留在索引0 – christiangobo 2013-02-15 14:38:46
会发生什么?你希望发生的事情不会发生,确切地说是什么? – 2013-02-15 14:40:31
请看这个http://jsfiddle.net/eL8sn/ – christiangobo 2013-02-15 14:41:18