从代码隐藏绑定下拉列表

时间:2012-01-23 13:24:41

标签: c# asp.net

我想在最新的.net框架的下拉菜单中显示所有类别名称。到目前为止,我只有:

<asp:DropDownList ID="DDCategories" runat="server">
    <asp:ListItem>
    </asp:ListItem>
</asp:DropDownList>

现在我需要在Code-Behind中告诉Dropdown我想在我的数据库中列出Name下的所有[Category]。这样做的原因是我要创建一个产品,我想在其中选择一个类别名称,但我不知道如何在下拉列表中显示它们。

3 个答案:

答案 0 :(得分:2)

如果您使用的是Linq2Sql或Entity Framework,您的代码将如下所示:

DDCategories.DataSource = myDatabaseContext.Category;
DDCategories.DataTextField = "Name";

其中Category为数据库中的表生成集合。

答案 1 :(得分:1)

虽然您可以在后面的代码中执行此操作,但我建议使用存储过程并将参数传递给它。在存储过程中拉出要拉出哪些数据的逻辑。如果这还不足以满足您的需求。您可以使用这样的代码

SqlCommand sc = new SqlCommand();
    sc.CommandText = "usp_MyStoredProcedure";
    sc.CommandType = CommandType.StoredProcedure;
    sc.Connection = conn;
    sc.Parameters.Add(AddParam(param1, "@param1"));

DropDwonList DDList = new DropDownList()
DDList = FindControl("DDCategories")

然后执行存储过程将结果保存在DDList数据中。这只是一个开始。希望它有所帮助。

答案 2 :(得分:0)