3

基本上,我的代码来自这里:http ://ranafaisal.wordpress.com/2009/02/17/dynamically-adding-removing-textboxes-in-aspnet-repeater/

然而,问题是,我需要一个带有文本框的下拉列表。拥有下拉列表的目的是允许用户选择他们的原籍国。他们可以选择添加或删除他们之前输入的详细信息。

这是我的错误信息:

“ddlName”有一个无效的 SelectedValue,因为它不存在于项目列表中。参数名称:值

这是我在 Default.aspx的中继器中的下拉列表代码

<asp:DropDownList ID="ddlName" runat="server" SelectedValue='<%# DataBinder.Eval(Container.DataItem, "ddl") %>'></asp:DropDownList>

后面的代码与我提供的链接完全相同。

  • 注意事项:不涉及数据库。

请不要告诉我谷歌或任何东西,因为过去几个小时我一直在谷歌搜索,但无济于事。我肯定已经用谷歌搜索了足够多的东西,并在此处发布之前尝试了其他人提供的解决方案。我几乎无所适从

对于附加组件,由于下拉列表问题,我什至无法启动我的应用程序。

4

1 回答 1

2

问题是您需要先填写DropDownList可能的选项,然后再设置您尝试与Eval. 我会将它切换为使用 theOnDataBindingDropDownList在那里做你需要的事情。

例子:

<asp:DropDownList ID="ddlName" runat="server" OnDataBinding="ddlName_DataBinding" />

protected void ddlName_DataBinding(object sender, System.EventArgs e)
{
    DropDownList ddl = (DropDownList)(sender);

    // Fill your ddl here (eg. ddl.Items.Add("abc", xyz");
    // Make sure the value you are going to set the selected item to has been added

    // Now set the selected value since it will now exist.
    ddl.SelectedValue = Eval("ddl").ToString(); 
}
于 2011-07-02T23:38:53.893 回答