簡體   English   中英

在下拉列表中添加“全選”

[英]Adding a “Select All” in drop down list

我在ddlCategory中添加了“全選”值,以便在選擇它時選擇所有類別,但是卻收到此錯誤消息“無法對System.Int32和System.String執行'='操作。” 有任何想法嗎? 提前致謝。

protected void Page_Load(object sender, EventArgs e)
    {
        if (ddlCategory.SelectedItem.Text == "Select All")
        {
            ProductDataSource.SelectCommand = "SELECT [ProductId], [ProductName], [ImageUrl], [Price], [CategoryId] FROM [Product] WHERE [SystemId] = 1";
        }
    }

這是ProductDataSource的代碼:

<asp:SqlDataSource 
                   ID="ProductDataSource" 
                   EnableCaching="true" 
                   DataSourceMode="DataSet" 
                   runat="server" 
                   ConnectionString="<%$ ConnectionStrings:ProjectConnectionString1 %>" 
                   SelectCommand="SELECT [ProductId], [ProductName], [ImageUrl], [Price], [CategoryId] FROM [Product] WHERE       [SystemId] = 1" 
                   FilterExpression="CategoryId = '{0}'">
            <FilterParameters>
                <asp:ControlParameter Name="categoryparm" ControlID="ddlCategory" PropertyName="SelectedValue" />
            </FilterParameters>
        </asp:SqlDataSource>

您添加了Select All元素,但是元素的值是什么? 我認為最好使用SelectedValue 將添加到您的DropDownList元素中,將All選擇為0,然后您的方法將類似於

if (ddlCategory.SelectedValue == 0){ /* your query here */}

另外,我建議您在首次加載頁面時執行此操作,而不要在回發時執行此操作。 所以您的Page_Load方法看起來像

if (!IsPostBack){
    if (ddlCategory.SelectedValue == 0)
        ProductDataSource.SelectCommand = "select * from product where systemid = 1";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM