【问题标题】:How can I load DropdownList box in Repeater by using ASP.NET and SQL QUERY如何使用 ASP.NET 和 SQL QUERY 在 Repeater 中加载 DropdownList 框
【发布时间】:2016-09-22 21:57:39
【问题描述】:

我可以加载文本框,但我无法加载下拉框:

<asp:Repeater ID="RtpDetails" runat="server">             
    <HeaderTemplate>
        <tr>
           <td width="20%" align="left"><strong>Item Name</strong></td>
           <td width="20%" align="left"><strong>Price</strong></td
        </tr>
    </HeaderTemplate>
    <ItemTemplate>
       <td>
           <asp:TextBox ID="Txtitem" Value='<%#Eval("Product_Name") %>' runat="server"></asp:TextBox>
       </td>
       <td>
           <asp:DropDownList ID="drp" runat="server"> </asp:DropDownList>
       </td> 
    </ItemTemplate>
</asp:Repeater>

C#:我现在正在使用它进入文本框,我正在尝试根据以下 SQL 查询获取值

protected void BtnSrc_Click(object sender, EventArgs e)
{
    RtpDetails.DataSource = GetData();
    RtpDetails.DataBind();
}

public DataTable GetData()
{
    string sql = "SELECT Auto_SL, OrderNo, Date, CustomerName, ProductID, Price, Total, Quantity, Product_Name FROM  Order_Details WHERE OrderNo='" + TxtSearch.Text+ "'"; ///---- For test  

    Connstring.conn.Open();

    SqlCommand cmd = new SqlCommand(sql, Connstring.conn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);

    DataTable dt = new DataTable();
    da.Fill(dt);

    Connstring.conn.Close();
    return dt;
}

【问题讨论】:

    标签: html asp.net sql-server


    【解决方案1】:

    您应该必须在下拉列表中添加数据源。 以下是示例代码。

       <asp:Repeater ID="RtpDetails" runat="server">
                <HeaderTemplate>
                    <td>Item Name
                    </td>
                    <td>Price
                    </td>
                </HeaderTemplate>
                <ItemTemplate>
    
                    <td>
                        <asp:TextBox ID="Txtitem" runat="server"></asp:TextBox></td>
                    <td>
                        <asp:DropDownList ID="drp" runat="server" DataTextField="Product_Name" DataValueField="Product_ID" DataSource='<%# setProduct()%>'>
                        </asp:DropDownList></td>
    
                </ItemTemplate>
            </asp:Repeater>
            <asp:Button ID="BtnSrc" Text="Source" runat="server" OnClick="BtnSrc_Click" />
    

    文件隐藏代码

        protected void BtnSrc_Click(object sender, EventArgs e)
        {
            RtpDetails.DataSource = GetData();
            RtpDetails.DataBind();
    
        }
    
        public DataTable setProduct()
        {
            DataTable dt = new DataTable();
            return GetData();
        }
    
        public DataTable GetData()
        {
            string sql = "SELECT Product_ID, Product_Name FROM  Order_Details"; ///---- For test  
            SqlConnection Connstring = new SqlConnection("Data Source=localhost;Initial Catalog=test;User ID=sa;Password=123;");
            Connstring.Open();
            SqlCommand cmd = new SqlCommand(sql, Connstring);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            Connstring.Close();
            return dt;
        }
    

    【讨论】:

    • 这项工作。但我想根据同一行中的 productid 加载它。在感谢您的帮助之后。我想你可以帮我做这件事。
    猜你喜欢
    • 1970-01-01
    • 2013-05-23
    • 2011-05-06
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多