我的页面中有很多CheckBoxList
。是否可以通过Code Behind中的值来搜索单个ListItems
?
<div class="col-lg-2">
<h4>Ski</h4>
<asp:CheckBoxList ID="ski" runat="server">
<asp:ListItem Text="Hauts" Value="43" runat="server"></asp:ListItem>
<asp:ListItem Text="Bas" Value="45" runat="server"></asp:ListItem>
<asp:ListItem Text="Sous-vêtements" Value="89" runat="server"></asp:ListItem>
</asp:CheckBoxList>
</div>
<div class="col-lg-2">
<h4>Ski de fonds</h4>
<asp:CheckBoxList ID="skidefonds" runat="server">
<asp:ListItem Text="Hauts" Value="42" runat="server"></asp:ListItem>
<asp:ListItem Text="Bas" Value="46" runat="server"></asp:ListItem>
<asp:ListItem Text="Sous-vêtements" Value="90" runat="server"></asp:ListItem>
</asp:CheckBoxList>
</div>
修改
要在问题上添加更多精确度:如何将ListItem
的{{1}}值设置为选定内容,而不知道它属于哪个46
。
感谢
答案 0 :(得分:1)
是的,有可能。根据您的结构,您只需:
// Selected:
IList<ListItem> selected = skidefonds.Items.Cast<ListItem>()
.Where(i => i.Selected).ToList();
您还可以通过循环公开内容。
foreach(var item in skidefonds.Items)
{
// Item will have all the attributes.
}
您可以通过执行以下操作来公开该值:
var result = skidefonds.Items.FindByValue("...");
或者,当您遍历循环时,您可以直接在item
上访问该属性。
foreach(var item in skidefonds.Items)
item.FindByValue("...");
答案 1 :(得分:0)
像这样使用recursive method:
protected void Page_Load(object sender, EventArgs e)
{
FindValue(this);
}
private void FindValue(Control ctrls)
{
foreach (Control c in ctrls.Controls)
{
if (c is CheckBoxList)
{
CheckBoxList ff = c as CheckBoxList;
for (int i = 0; i < ff.Items.Count; i++)
{
if ((string)ff.Items[i].Value == "46")
{
ff.Items[i].Selected = true;
}
}
}
else FindValue(c);
}
}
答案 2 :(得分:0)
您可以循环所有复选框列表,然后在该循环内循环查找所需的所有列表项。
import java.util.*;
public class Conver {
public static void main(String[] args){
amountToConvert();
exchangeRate();
convert();
}
public static double amountToConvert() {
Scanner input = new Scanner(System.in);
System.out.println("Enter the amount you wish to convert...");
double amount = input.nextDouble();
return amount;
}
public static double exchangeRate(){
Scanner input = new Scanner(System.in);
System.out.println("Enter the currency you wish to convert from... ");
String initialCurrency = input.next();
System.out.println("Enter the currency you wish to convert from... ");
String finalCurrency = input.next();
System.out.println("How many " + initialCurrency + " makes one " + finalCurrency + "?");
double rate = input.nextDouble();
return rate;
}
public static double convert(){
int x = amount*rate;
return x;
}
public void printResult(){
System.out.println(x);
}
}
答案 3 :(得分:0)
List<ListItem> skiValues = ski.Items.Cast<ListItem>()
.Where(li => li == 'Search')
.ToList();
答案 4 :(得分:0)
试试这个
var item=ski.Items.FindByValue("yourvalue");