【问题标题】:C#/ASP.NET programmatically generated a select element with optionsC#/ASP.NET 以编程方式生成带有选项的选择元素
【发布时间】:2012-10-17 18:47:11
【问题描述】:

我想使用 C#/ASP.NET 生成一个带有选项的选择框。

我该怎么做呢?我可以在 PHP 或 Python 中完成,但是在 C# 中我认为我必须使用 .cs 文件?

我需要在 ASPX 主页面上放置任何控件吗?

我想从 MySQL 数据库中提取名称和 id 列表,插入名称作为要选择的选项,并将 id 作为值,然后将它们全部显示在页面上。

我不确定在这种情况下 C# 如何在 .aspx 和 .aspx.cs 之间进行交互。

【问题讨论】:

    标签: c# mysql


    【解决方案1】:

    基本上,您将在.aspx 页面中将Dropdownlist 控件绑定到Datasource 控件。 Datasource 控件将使用您在 web.config 文件中定义的连接字符串连接到您的 mysql 数据库。

    .aspx.cs 包含当您在 Dropdownlist 中选择一个名称之后回发到服务器时的代码。如果您使用的是 Visual Studio,则大部分都可以通过 UI 完成。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        您可以在此处找到示例:

        DataBinding DropDownList in C#/ASP.NET

        http://www.codeproject.com/Tips/303564/Binding-DropDownList-Using-List-Collection-Enum-an

        基础知识:

        http://asp.net-tutorials.com/basics/code-behind/#.UH7-zsWlXO4

        还有一个简单的例子:

        aspx 文件:

        <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="myDDL" runat="server" DataTextField="MyTextField" DataValueField="MyValueField" />
        </div>
        </form>
        

        文件背后的代码:

        protected void Page_Load(object sender, EventArgs e)
        {
          if (!IsPostBack)
          {
            myDDL.DataSource = myDataTable;
            myDDL.DataBind();
          }
        }
        

        【讨论】:

          【解决方案4】:
          using System.Web.UI.WebControls;
          ...
          DropDownList ddl = new DropDownList();
          ddl.DataSource = [your data source];
          ddl.Databind();
          ddl.DataTextField = [field to show]
          ddl.DataValueField = [value]
          
          Page.Controls.Add(ddl);
          

          【讨论】:

          • 如果你在后面的代码中创建了一个 DropDownList,你还需要一个占位符控件来将控件添加到页面中。
          • 这是真的 (+1)... 您也可以只将下拉列表放在 ASPX 页面中。我只是在说明代码。
          猜你喜欢
          • 1970-01-01
          • 2021-01-02
          • 2012-08-04
          • 2010-10-08
          • 1970-01-01
          • 2015-10-31
          • 1970-01-01
          • 2017-07-09
          • 2013-07-11
          相关资源
          最近更新 更多