有沒有一種方法可以選擇-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