加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net:动态创建的下拉列表和数据源

发布时间:2020-12-16 07:30:20 所属栏目:asp.Net 来源:网络整理
导读:我有大约10个下拉列表控件被填充.我想以编程方式创建它们,而不是复制/粘贴和修改每个字段.可以这样做吗? 这是他们中的一个.我想以编程方式添加10个下拉列表控件及其各自的SqlDataSource控件. asp:SqlDataSource ID = "ddlDAGender" runat=server Connection
我有大约10个下拉列表控件被填充.我想以编程方式创建它们,而不是复制/粘贴和修改每个字段.可以这样做吗?

这是他们中的一个.我想以编程方式添加10个下拉列表控件及其各自的SqlDataSource控件.

<asp:SqlDataSource ID = "ddlDAGender" runat=server
    ConnectionString="<%$ConnectionStrings:test1ConnectionString %>" 
    SelectCommand = "select GenderID,Gender from mylookupGender"
    >
    </asp:SqlDataSource>


 <asp:Label ID="Label3" runat="server" Text="Gender"></asp:Label>

        <asp:DropDownList ID="ddlGender" runat="server" 
                DataSourceid="ddlDAGender"
                DataTextField="Gender" DataValueField="GenderID"

    >

 </asp:DropDownList>

解决方法

您始终可以动态创建控件.但是在这种情况下,如果你的所有下拉列表都不同,我不确定它能为你节省一些东西,因为你仍然需要为它们分配个人ID和数据源.

这是代码的样子:

protected void Page_Load(object sender,EventArgs e)
{
    if (!IsPostBack)
    {
        BindDropDownLists();
    }
}

protected void Page_Init(object sender,EventArgs e)
{ 

        SqlDataSource sqlDS = new SqlDataSource();
        sqlDS.ConnectionString = ConfigurationManager.ConnectionStrings[0].ToString();
        sqlDS.SelectCommand = "select GenderID,Gender from mylookupGender";
        form1.Controls.Add(sqlDS);

        DropDownList ddl = new DropDownList();
        ddl.ID = "dddlGender";
        ddl.DataSource = sqlDS;
        ddl.DataTextField = "Gender";
        ddl.DataValueField = "GenderID";
        form1.Controls.Add(ddl);

        // ... Repeat above code 9 times or put in a for loop if they're all the same...
}

private void BindDropDownLists()
{
    foreach (Control ctl in form1.Controls)
    {
        if (ctl is DropDownList)
        {
            (ctl as DropDownList).DataBind();
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读