【问题标题】:Dynamic dropdownlist in repeater, ASP.NET转发器中的动态下拉列表,ASP.NET
【发布时间】:2011-09-27 10:56:29
【问题描述】:

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

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

这是我的错误信息:

'ddlName' 有一个 SelectedValue,它是 无效,因为它不存在于 项目列表。参数名称: 价值

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

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

后面的代码和我提供的链接一模一样。

  • 注意点:不涉及数据库。

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

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

【问题讨论】:

    标签: asp.net dynamic drop-down-menu repeater selectedvalue


    【解决方案1】:

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

    例子:

    <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(); 
    }
    

    【讨论】:

    • 有效!非常感谢,虽然已经解决了,但是我还有一个问题哈哈,不过还是谢谢 :)
    • 您好,我如何将这篇文章与CheckBoxList 一起使用?我这样做:&lt;asp:CheckBoxList ID="chklWorkType" runat="server" OnDataBinding="chklWorkType_DataBinding" SelectedValue='&lt;%# DataBinder.Eval(Container.DataItem, "WorkType") %&gt;'&gt;&lt;/asp:CheckBoxList&gt; 但我出错了。你能帮帮我吗?
    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多