以编程方式将entitydatasource bound下拉列表添加到面板并提交值

时间:2014-09-15 09:58:23

标签: c# asp.net

我正在尝试在我的aspx表单中将命名的下拉列表添加到面板(或者更好的占位符)。

这就是我所拥有的:

<asp:EntityDataSource ID="elementDS" runat="server" ConnectionString="name=ThermoDBEntities" DefaultContainerName="ThermoDBEntities" EnableFlattening="False" EntitySetName="elements" EntityTypeFilter="element"></asp:EntityDataSource>

<asp:Panel runat="server" ID="Panel1">

    <asp:DropDownList ID="ElementDDL" runat="server" DataSourceID="elementDS" DataTextField="designation" DataValueField="Id" SelectedValue='<%# Bind("element_Id") %>' AppendDataBoundItems="true">
            <asp:ListItem Value="" Selected="True"></asp:ListItem>
    </asp:DropDownList>

</asp:Panel>

<asp:Button ID="Buttonplus" runat="server" Text="+" OnClick="Buttonplus_Click" class="btn btn-success" />

并在后面的代码中:

public partial class lotdepoudre_creation : System.Web.UI.Page
{
    public int temp=0;
    int i = 2;

    protected void Buttonplus_Click(object sender, EventArgs e)
    {

        DropDownList Dropdownlistnew = new DropDownList();
        StringBuilder stringnomddl = new StringBuilder();
        stringnomddl.Append("ddl" + i.ToString());
        Panel1.Controls.Add(Dropdownlistnew);
        Dropdownlistnew.ID = stringnomddl.ToString();
        i++;

    }
}

我在ElementDDL下拉列表中收到错误消息:

  

发生了'System.InvalidOperationException'类型的异常   System.Web.dll但未在用户代码中处理

     

附加信息:数据绑定方法(如Eval(),XPath()和Bind()只能在数据绑定控件的上下文中使用

如何将带有entitydatasource的ddl放到面板中?如何以编程方式添加一些数据?如何使用entityframework为它们定义数据源?

此外,在添加下拉列表后,我有一个提交按钮,用于在数据库中插入所选值。这可以与添加的ddlists一起使用吗?

0 个答案:

没有答案