【问题标题】:Asp.net Dropdown List - Listitem - Resource File - ValueAsp.net 下拉列表 - Listitem - 资源文件 - 值
【发布时间】:2018-11-02 13:14:09
【问题描述】:

我有一个简单的下拉列表,我想用 Resource.resx 文件中的值填充这个下拉列表。

创建资源文件并添加值,每个值用“,”分隔不是问题,而是将每个项目显示为下拉菜单的可选选项。

我的 html 代码如下所示:

<asp:DropDownList runat="server" ID="DDL1">
<asp:ListItem  Text="<%$Resources:DropDown, Abteilungen%>"></asp:ListItem>

注意 Abteilungen 只是标题!

这就是我想要做的:

List<SelectListItem> items = new List<SelectListItem>();
                foreach (string s in Resources.DropDown.Abteilungen.Split(new char[] { ',' }))
                {
                    items.Add(new SelectListItem() { Text = s, Value = s });
                    DDL1.Text = s.ToString();
                }

结果是:下拉列表只显示完整的值(Value1、Value2、Value3 等)。

但不是每个值都作为可选项目。

谁能帮我解决这个问题?

【问题讨论】:

    标签: c# asp.net resources dropdownlistfor


    【解决方案1】:

    想象一下……

    • 您有 1 条记录:“键、值”
    • 你把它拆分成 s = "Key"
    • 您将 Text 和 Value 指定为:Text = s (Text = "Key"), Value = s (Value = "Key")

    用这个逻辑代替它:

    • 您有 1 条记录:“键、值”
    • 您将其写入 s 变量。结果:s = "Key, Value"
    • 您将其拆分并分配如下: Text = s[0] (Text = "Key"), Value = s[1] (值 = "值")

      List<SelectListItem> items = new List<SelectListItem>();
      foreach (string s in YOUR_COLLECTION)
      {
          string[] keyValue = s.Split(new char[] { ',' })
          items.Add(new SelectListItem() { Text = keyValue[0], Value = keyValue[1] });
      }
      

    【讨论】:

    • 我得到 IndexoutofRange 异常......我不知道我做错了什么:(
    猜你喜欢
    • 2016-09-23
    • 2013-08-23
    • 2012-07-09
    • 1970-01-01
    • 2020-04-21
    • 2018-07-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    相关资源
    最近更新 更多