国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

解決DropDownList總是選中第一項(xiàng)的方法

2024-07-10 13:29:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了解決DropDownList總是選中第一項(xiàng)的方法,DropDownList下拉框服務(wù)器控件是最常用的控件之一,雖然使用方便,但也會(huì)出現(xiàn)奇怪的錯(cuò)誤,感興趣的小伙伴們可以參考一下

在網(wǎng)頁(yè)開(kāi)發(fā)的過(guò)程中,在頁(yè)面中使用了一個(gè) DropDownList 服務(wù)器控件,發(fā)現(xiàn)了一個(gè)很奇怪的問(wèn)題,不論在頁(yè)面中選中哪一項(xiàng),在后臺(tái)獲取到的值總是第一項(xiàng)的值,看了好久也沒(méi)有發(fā)現(xiàn)問(wèn)題出在哪里,DropDownList控件在開(kāi)發(fā)中已經(jīng)使用了無(wú)數(shù)遍了,對(duì)照了其他代碼都是一樣的!

經(jīng)過(guò)了幾分鐘之后,實(shí)在是看不出問(wèn)題在哪里只好到網(wǎng)上查找答案,網(wǎng)上果然有不少人遇到“一樣”的問(wèn)題—— DropDownList 總是選中第一項(xiàng)。網(wǎng)上的解決方法都是說(shuō)在 DropDownList 綁定時(shí)要在 Page_Load 事件要使用 if(!IsPostBack),可是我是這樣綁定的,在網(wǎng)上還是沒(méi)有找到解決的方法。

后來(lái),自己靜靜地左思右想,是不是因?yàn)樽约涸诮壎―ropDownList 的時(shí)候,只給Text 賦值,而沒(méi)有給 Value 賦值導(dǎo)致的呢?接著我就嘗試把每一項(xiàng)的Value 賦值,果然沒(méi)有這樣的現(xiàn)象了!

現(xiàn)在總結(jié) DropDownList 控件總是選中第一項(xiàng)的兩種原因。

情況一,請(qǐng)看下面的代碼: 客戶端代碼:

 

 
  1. <asp:DropDownListID="ddl1"runat="server"
  2. </asp:DropDownList> 

服務(wù)端代碼:

 

 
  1. protected void Page_Load(object sender, EventArgs e) 
  2. BindDropDownList(); 
  3.  
  4. private void BindDropDownList() 
  5. ddl1.Items.Clear(); //每次綁定前,先清除所有項(xiàng) 
  6. for (int i = 1; i <= 3; i++) 
  7. ListItem item1 = new ListItem(); 
  8. item1.Text = "第" + i.ToString() + "項(xiàng)"
  9. item1.Value = "第" + i.ToString() + "項(xiàng)"
  10. ddl1.Items.Add(item1); 

上面代碼案例,也就是網(wǎng)上說(shuō)的總是選中第一項(xiàng)(選擇不能改變選項(xiàng)),綁定方法寫(xiě)在 if (!IsPostBack) 里就可以解決了,代碼如下:

 

 
  1. protected void Page_Load(object sender, EventArgs e) 
  2. if (!IsPostBack) 
  3. BindDropDownList(); 

情況二,即是筆者遇到的,請(qǐng)看下面的代碼: 客戶端代碼:

 

 
  1. <asp:DropDownList ID="ddl1" runat="server"
  2. </asp:DropDownList> 
  3. <asp:Button ID="btnGet" runat="server" Text="獲取" onclick="btnGet_Click" /> 

服務(wù)端代碼:

 

 
  1. protected void Page_Load(object sender, EventArgs e) 
  2. if (!IsPostBack) 
  3. BindDropDownList(); 
  4.  
  5. private void BindDropDownList() 
  6. ddl1.Items.Clear(); //每次綁定前,先清除所有項(xiàng) 
  7. for (int i = 1; i <= 3; i++) 
  8. ListItem item1 = new ListItem(); 
  9. item1.Text = "第" + i.ToString() + "項(xiàng)"
  10. item1.Value = ""
  11. ddl1.Items.Add(item1); 
  12.  
  13. protected void btnGet_Click(object sender, EventArgs e) 
  14. string str = ddl1.SelectedItem.Text; 
  15. Page.ClientScript.RegisterStartupScript(this.GetType(), "alert""<script>alert('" + str + "');</script>"); 

注意 item1.Value 這個(gè)地方,是沒(méi)有賦值的,然而導(dǎo)致獲取 Text 的值錯(cuò)亂了,只要給 Value 賦上值就沒(méi)有問(wèn)題了!

以上就是關(guān)于網(wǎng)上大多數(shù)人遇到“一樣”的問(wèn)題—— DropDownList 總是選中第一項(xiàng)的解決辦法,希望對(duì)大家的學(xué)習(xí)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐津县| 满城县| 抚远县| 西林县| 于都县| 环江| 昭苏县| 淮安市| 吉木乃县| 太康县| 锡林浩特市| 浙江省| 宜川县| 凌源市| 鲁甸县| 姚安县| 屏山县| 乌拉特后旗| 社旗县| 芦溪县| 绥滨县| 横山县| 正阳县| 习水县| 四平市| 寻甸| 芦山县| 桦南县| 赤壁市| 石家庄市| 轮台县| 深圳市| 宝坻区| 汝南县| 武汉市| 汝南县| 石景山区| 定州市| 曲周县| 武城县| 兴城市|