【问题标题】:Dynamic DropdownList动态下拉列表
【发布时间】:2012-11-13 05:11:54
【问题描述】:

我有两个问题: 首先,我在 .aspx 中的转发器中放置了一个 DDL。 这是我的代码:

<HeaderTemplate>
    <ul class ="horizontal">
  </HeaderTemplate>
  <ItemTemplate>
    <li>
<img src="<%# DataBinder.Eval(Container.DataItem, "ImagePath") %>" width="60" height="40" alt = "<%# DataBinder.Eval(Container.DataItem, "ProductName") %>"/>
        <p>ID: <asp:Literal ID="ProductIDLiteral" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>'></asp:Literal></p>
        <p>
            <asp:Literal ID="NameLiteral" runat="server" Text="Name: "></asp:Literal><asp:Literal ID="ProductNameLiteral" runat="server" Text = '<%# DataBinder.Eval(Container.DataItem, "ProductName") %>'></asp:Literal>
        </p>
        <p>
            <asp:Literal ID="Literal1" runat="server" Text="Price: "></asp:Literal><asp:Literal ID="UnitPriceLiteral" runat="server" Text = '<%# DataBinder.Eval(Container.DataItem, "UnitPrice") %>'></asp:Literal>
         </p>
         <p> <asp:Literal ID="QuantityLiteralLiteral" runat="server" Text="Quantity: "></asp:Literal><asp:DropDownList ID="DDLQuantity" runat="server" ><asp:ListItem></asp:ListItem>
        </asp:DropDownList></p>
        <asp:Literal ID="Literal" runat="server"></asp:Literal>
 </li>
  </ItemTemplate>
  <FooterTemplate>
      <asp:Button ID="Button1" runat="server" Text="Validate!" />
    </ul>
  </FooterTemplate>
</asp:Repeater>

嗯,第一个问题是如何从后面的代码中填充我的 DDL? 那么我该怎么做,用 填充 DDL 如果源值为 4。 谢谢!!

【问题讨论】:

    标签: c# asp.net ddl


    【解决方案1】:

    您可以使用Init 事件来填充DropDownList

    protected void DropDownList1_Init(object sender, EventArgs e)
    {
        for (int i = 1; i <= 4; i++)
        {
            ((DropDownList)sender).Items.Add(i.ToString());
        }
    }
    

    【讨论】:

    • 您可以在DropDownList 中找到它作为OnInit 事件。
    【解决方案2】:

    您需要使用中继器 ItemDataBound 事件。 怎么绑定下拉???

    protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                DropDownList dd = (DropDownList)e.Item.FindControl("control_id");
                dd.DataSource = "";
                dd.DataBind();
    
            }
    

    如果不同的逻辑适用于下拉菜单。

    protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
    
                /////////////
                //logic for source_value
                /////////////
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    yourObj obj = (yourObj)e.Item.DataItem;
                    if (yourObj.source_value == 4)
                    {
                        dd.Items.Add("one");
                        dd.Items.Add("two");
                        dd.Items.Add("three");
                        dd.Items.Add("four");
                    }
                }
    
            }
    

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2011-10-25
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多