2016-12-01 68 views
1

我有一個下拉列表,它是從一個表 數據爲界,我想從它在頁面加載刪除項目,但問題是沒有從這段代碼發生的事情:如何刪除數據有限頁面加載下拉列表項目?

頁負載:

protected void Page_Load(object sender, EventArgs e) 
{ 
    ListItem itemToRemove = DropDownList1.Items.FindByText("compiler"); //just want to remove this value 
    if (itemToRemove != null) 
    { 
     DropDownList1.Items.Remove(itemToRemove); 
    } 
} 

**dropdownlist code on aspx page**: 

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource1" DataTextField="qpname" DataValueField="qpname" Height="16px" Width="116px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True"> 
    <Items> 
    <asp:ListItem Text="Select" Value="" /> 
    </Items> 
</asp:DropDownList> 

aspx頁面上SQLDATA源代碼:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:projectConnectionString %>" SelectCommand="SELECT [qpname] FROM [A1_quespapers]"></asp:SqlDataSource> 

注:dropdow NLIST是顯示所有有界值,包括價值將被刪除(編譯) - image here

+0

嘗試把你的代碼的IsPostBack – Webruster

回答

0

你必須使用AppendDataBoundItems="False"和pageLoad的事件設置DataSource。接下來,您就可以刪除您Item

變化DropDownList這樣

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="false" runat="server" DataTextField="qpname" DataValueField="qpname" Height="16px" Width="116px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True"> 

添加數據源,並使用FindByText()方法

protected void Page_Load(object sender, EventArgs e) 
{ 


    DropDownList1.DataSource = SqlDataSource1; 
    DropDownList1.DataBind() 

    ListItem itemToRemove = DropDownList1.Items.FindByText("compiler"); 
    if (itemToRemove != null) 
    { 
     DropDownList1.Items.Remove(itemToRemove); 
    } 
} 
+0

或設置'DropDownList1.DataSource = NULL;!想要綁定到不同的數據源將工作太當'然後重新分配.. – MethodMan

0

刪除的項目,您可以嘗試刪除在PreRender事件。

protected void Page_PreRender(object sender, EventArgs e) 
{ 
    ListItem itemToRemove = DropDownList1.Items.FindByText("compiler"); //just want to remove this value 
    if (itemToRemove != null) 
    { 
     DropDownList1.Items.Remove(itemToRemove); 
    } 
} 
相關問題