asp.net中不能在DropDownList中選擇多個項 原因分析及解決方案

來源:互聯網
上載者:User

範例程式碼: 複製代碼 代碼如下:BulkStockBll bll = new BulkStockBll();
DataSet ds = bll.GetBulkStock();
this.ddl_BulkStock.DataTextField = "Name" ;
this.ddl_BulkStock.DataValueField = "ID" ;
this.ddl_BulkStock.DataSource = ds;
this.ddl_BulkStock.DataBind();
this.ddl_BulkStock.Items.Add(new ListItem( "全部", "0" ));//第一次選擇!
this.ddl_BulkStock.Items.FindByValue("0" ).Selected = true;
*******************************
this.ddl_BulkStock.Items.FindByValue(infobulkstockid).Selected = true;//第二次選擇!
******************************

出現了兩次選擇,所以報錯。
page load的時候,index0的Selected = true,你再選一個index1的Selected 也true了,就報錯。
不要用dropDownList.Items[x].Selected = true/false,推薦用dropDownList.SelectedIndex = x。
解決方案有兩個:
(1)在選擇某個選項時,不用上面的綠色代碼顯示方式,使用下面的代碼
this .ddl_BulkStock.SelectedIndex = ddl_BulkStock.Items.IndexOf(ddl_BulkStock.Items.FindByValue(infobulkstockid));
(2)在每次選擇某個選項前,使用ClearSelection操作。
this.ddl_BulkStock.ClearSelection();

今天在編輯頁面出現:不能在 DropDownList 中選擇多個項。

仔細的找了原因發現: 複製代碼 代碼如下:<asp:DropDownList ID="Com_Ygrenshu" runat="server" style="margin-left:8px;">
<asp:ListItem Value="0">請選擇人數</asp:ListItem>
<asp:ListItem Selected="True" Value="5">5人以下</asp:ListItem>
<asp:ListItem Value="10">5-10 人</asp:ListItem>
<asp:ListItem Value="50">11-50 人</asp:ListItem>
</asp:DropDownList>

我在編輯頁面進行重新綁定資料的代碼: 複製代碼 代碼如下:for (int i = 0; i < this.Com_Ygrenshu.Items.Count; i++)
{
Com_Ygrenshu.Items[i].Selected = false;

//如果沒有上面這一句那麼將出錯誤:不能在 DropDownList 中選擇多個項
if (Com_Ygrenshu.Items[i].Value.Trim() == ds.Tables[0].Rows[0]["Empl_Num"].ToString().Trim())
{
Com_Ygrenshu.Items[i].Selected = true;
}
}

原因是:你的DropDownList有兩個Selected="True" 選項,所以出錯!
#dropdownlist控制項

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.