我有一种方法可以像这样获取复选框列表中未选中的项目:
public static string[] GetNotSelectedCheckboxes(CheckBoxList list)
{
ArrayList values = new ArrayList();
for (int counter = 0; counter < list.Items.Count; counter++)
{
if (!list.Items[counter].Selected)
{
values.Add(list.Items[counter].Value);
}
}
return (String[])values.ToArray(typeof(string));
}
我现在需要在单选按钮列表中获取未选中的项目,我复制了相同的方法,而不是将 CheckBoxList
作为参数,而是使用 RadioButtonList
。
public static string[] GetNotSelectedRadioButtons(RadioButtonList list)
{
ArrayList values = new ArrayList();
for (int counter = 0; counter < list.Items.Count; counter++)
{
if (!list.Items[counter].Selected)
{
values.Add(list.Items[counter].Value);
}
}
return (String[])values.ToArray(typeof(string));
}
现在代码做了完全相同的事情,我读了一些关于泛型方法的内容,这是我应该使用的地方吗?我查看了它,但没有得到正确的语法,如果我没有明确地将其指定为单选或复选框列表,我不确定如何使用 list.Items。
我是否应该在这里使用通用方法以及关于我应该如何处理它的任何输入?
提前致谢。
最佳答案
您可以使用泛型...但在这种情况下,使用简单数据列表控件的基类来使用多态似乎更容易
public static string[] GetNotSelectedRadioButtons(ListControl list)
如果你想实现泛型:
public static string[] GetNonSelectedItems<T>(T list) where T : ListControl
{
... do your stuff
}
关于c# - 获取 ASP.NET 的通用方法未选中复选框列表或单选按钮列表中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488342/