91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決DropDownList總是選中第一項的問題

發布時間:2021-09-09 17:00:20 來源:億速云 閱讀:129 作者:小新 欄目:開發技術

小編給大家分享一下如何解決DropDownList總是選中第一項的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

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

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

現在總結 DropDownList 控件總是選中第一項的兩種原因。

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

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

服務端代碼:

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);
  }
}

上面代碼案例,也就是網上說的總是選中第一項(選擇不能改變選項),綁定方法寫在 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" />

服務端代碼:

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 這個地方,是沒有賦值的,然而導致獲取 Text 的值錯亂了,只要給 Value 賦上值就沒有問題了!

以上是“如何解決DropDownList總是選中第一項的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳朔县| 邹平县| 宝丰县| 盘山县| 略阳县| 枣强县| 四平市| 石林| 桐乡市| 长子县| 庄河市| 高邑县| 祁门县| 方山县| 图木舒克市| 伊吾县| 泌阳县| 鄂托克前旗| 墨脱县| 黑山县| 平邑县| 申扎县| 松阳县| 祁阳县| 双柏县| 邯郸县| 嵊泗县| 宁都县| 沙坪坝区| 大厂| 通化市| 鄂尔多斯市| 商都县| 建宁县| 屯留县| 沙河市| 丰都县| 上高县| 娱乐| 隆子县| 芜湖市|