【问题标题】:asp.net insert new dropdown list with C# codeasp.net 使用 C# 代码插入新的下拉列表
【发布时间】:2012-03-10 05:51:45
【问题描述】:

我正在开发一个从数据库中检索数据的网站,但我是网络开发新手。

我使用网格视图、下拉列表和其他工具来显示数据,但有一个页面,网站用户将在其中设置需要多少特定下拉列表才能完成工作。

更具体地说,用户将选择产品和每个产品的数量,但我不知道用户需要多少产品。如果用户想输入 x 个产品,我想创建 x 个下拉列表(在不同的行中),以便他可以选择 x 个产品及其数量。

例如 用户 A 想要选择 2 个西红柿、3 个土豆和 5 个西瓜。 他将在文本框中输入 3(产品数量),然后将出现 3 行,每行有 2 个下拉列表,用户将选择

西红柿 2

土豆 3

西瓜 5

添加新行->>>这是我想要创建的另一件事

有什么想法吗??

【问题讨论】:

    标签: c# asp.net database visual-studio drop-down-menu


    【解决方案1】:

    在代码隐藏中,特别是在Page_Load 事件期间,您需要确定需要多少下拉菜单,然后动态创建它们。谷歌搜索会产生很多示例,但一个简单的示例如下所示:

    int countNeeded = 15; //or whatever your code tells you is the right amount
    
    for (int x = 0; x < 15; x++)
    {
        mainContent.Controls.Add(new DropDownList()); 
        //mainContent would be a control on the page that you want to host your controls.
    } 
    

    【讨论】:

    • mainContent 会是什么类型的控件?
    • mainContent 可以是 Panel 控件,或者实际上是任何接受子控件的控件。表格也可以,您只需要访问单元格即可。
    【解决方案2】:

    您可以在代码隐藏中创建所需的控件。这样做时应考虑的事项:

    • Page_InitPage_Load 事件中创建控件
    • 在您希望它们出现时重新创建每个页面加载时的控件(包括回发)
    • 如果您希望每个下拉列表出现在单独的行中,您可以将每个下拉列表放在单独的行中,或者您可以将 LiteralControl 放在它们之间

    一些示例代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        //read how many DropDownList controls are needed
        int ddlCount = txtDropDownList.Text;
    
        for (int i = 0; i < ddlCount; ++i)
        {
            if (i > 0)
            {
                //add a page break between previous DropDownList and the current one
                this.Controls.Add(LiteralControl("<br />"));
            }
    
            //add a DropDownList with ID productDdl and an appropriate number
            this.Controls.pageContent.Add(new DropDownList() { ID = String.Format("productDdl{0}", i) });
        }
    }
    

    我没有测试过这段代码,所以如果你发现任何问题,请告诉我,我会尽力纠正它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多