循环遍历复选框列表

发布于 2024-09-09 07:58:37 字数 506 浏览 3 评论 0原文

我正在构建一个复选框列表:

<asp:CheckBoxList ID="CheckBoxes" DataTextField="Value" DataValueField="Key" runat="server"></asp:CheckBoxList>

并尝试获取所选项目的值:

List<Guid> things = new List<Guid>();
foreach (ListItem item in this.CheckBoxes.Items)
{
    if (item.Selected)
        things.Add(item.Value);
    }
}

我收到错误

“最佳重载方法匹配 'System.Collections.Generic.List.Add(System.Guid)' 有一些无效参数“

I am building a checkbox lists:

<asp:CheckBoxList ID="CheckBoxes" DataTextField="Value" DataValueField="Key" runat="server"></asp:CheckBoxList>

And trying to get the value's of the selected items:

List<Guid> things = new List<Guid>();
foreach (ListItem item in this.CheckBoxes.Items)
{
    if (item.Selected)
        things.Add(item.Value);
    }
}

I get the errror

"The best overloaded method match for
'System.Collections.Generic.List.Add(System.Guid)'
has some invalid arguments "

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

做个少女永远怀春 2024-09-16 07:58:37

“事物”列表不包含 Guid 值。您应该将 item.value 转换为 Guid 值:

List<Guid> things = new List<Guid>();
foreach (ListItem item in this.CheckBoxes.Items)
{
  if (item.Selected)
    things.Add(new Guid(item.Value));
}

The 'thing' list is excepting a Guid value. You should convert item.value to a Guid value:

List<Guid> things = new List<Guid>();
foreach (ListItem item in this.CheckBoxes.Items)
{
  if (item.Selected)
    things.Add(new Guid(item.Value));
}
段念尘 2024-09-16 07:58:37

ListItem.Value 的类型为 System.String,并且您尝试将其添加到 List 中。您可以尝试:

things.Add(Guid.Parse(item.Value));

只要字符串值可解析为 Guid 就可以了。如果不清楚,您需要更加小心并使用 Guid.TryParse(item.Value)

ListItem.Value is of type System.String, and you're trying to add it to a List<Guid>. You could try:

things.Add(Guid.Parse(item.Value));

That will work as long as the string value is parsable to a Guid. If that's not clear, you'll want to be more careful and use Guid.TryParse(item.Value).

榆西 2024-09-16 07:58:37

如果您的列表的 Add 方法确实接受 GUID(请参阅错误消息),但不接受“item.value”,那么我猜 item.value 不是 GUID。

试试这个:

...
things.Add(CTYPE(item.value, GUID))
...

If your List's Add method does accept GUID's (see the error message), but isn't accepting "item.value", then I'd guess item.value is not a GUID.

Try this:

...
things.Add(CTYPE(item.value, GUID))
...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文