主頁 > 知識庫 > 解決DropDownList總是選中第一項的方法

解決DropDownList總是選中第一項的方法

熱門標(biāo)簽:上海市三維地圖標(biāo)注 辦公用地圖標(biāo)注網(wǎng)點怎么操作 南昌自動外呼系統(tǒng)線路 安陸市地圖標(biāo)注app 西寧電銷外呼系統(tǒng)公司 寧德防封版電銷卡 云南外呼系統(tǒng)代理 聊城智能電銷機器人電話 海東防封電銷卡

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

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

后來,自己靜靜地左思右想,是不是因為自己在綁定DropDownList 的時候,只給Text 賦值,而沒有給 Value 賦值導(dǎo)致的呢?接著我就嘗試把每一項的Value 賦值,果然沒有這樣的現(xiàn)象了!

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

情況一,請看下面的代碼:
客戶端代碼:

asp:DropDownListID="ddl1"runat="server">
/asp:DropDownList>

服務(wù)端代碼:

protected void Page_Load(object sender, EventArgs e)
{
  BindDropDownList();
}
  
private void BindDropDownList()
{
  ddl1.Items.Clear(); //每次綁定前,先清除所有項
  for (int i = 1; i = 3; i++)
  {
    ListItem item1 = new ListItem();
    item1.Text = "第" + i.ToString() + "項";
    item1.Value = "第" + i.ToString() + "項";
    ddl1.Items.Add(item1);
  }
}

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

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    BindDropDownList();
  }
}

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

asp:DropDownList ID="ddl1" runat="server">
/asp:DropDownList>
nbsp;asp:Button ID="btnGet" runat="server" Text="獲取" onclick="btnGet_Click" />

服務(wù)端代碼:

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    BindDropDownList();
  }
}
  
private void BindDropDownList()
{
  ddl1.Items.Clear(); //每次綁定前,先清除所有項
  for (int i = 1; i = 3; i++)
  {
    ListItem item1 = new ListItem();
    item1.Text = "第" + i.ToString() + "項";
    item1.Value = "";
    ddl1.Items.Add(item1);
  }
}
  
protected void btnGet_Click(object sender, EventArgs e)
{
  string str = ddl1.SelectedItem.Text;
  Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "script>alert('" + str + "');/script>");
}

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

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

您可能感興趣的文章:
  • 基于Jquery的將DropDownlist的選中值賦給label的實現(xiàn)代碼
  • 深入DropDownList用法的一些學(xué)習(xí)總結(jié)分析
  • ASP.NET DropDownListCheckBox使用示例(解決回發(fā)問題)
  • DropDownList綁定數(shù)據(jù)表實現(xiàn)兩級聯(lián)動示例
  • DropDownList獲取的SelectIndex一直為0的問題
  • ASP.NET MVC中為DropDownListFor設(shè)置選中項的方法
  • JS簡單操作select和dropdownlist實例
  • C#動態(tài)生成DropDownList執(zhí)行失敗原因分析
  • DropDownList設(shè)置客戶端事件思路

標(biāo)簽:青海 衢州 南寧 崇左 汕尾 贛州 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決DropDownList總是選中第一項的方法》,本文關(guān)鍵詞  解決,DropDownList,總是,選中,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決DropDownList總是選中第一項的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決DropDownList總是選中第一項的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章