ved ikke om jeg fattede en hat af det der:)
men her er et hurtigt ikke særlig gennemtestet bud.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="
http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>kalp</title>
</head>
<body>
<form runat="server" id="kalp">
<asp:CheckBoxList ID="List" runat="server">
<asp:ListItem Value="1" Text="One"></asp:ListItem>
<asp:ListItem Value="1" Text="Two"></asp:ListItem>
<asp:ListItem Value="1" Text="Three"></asp:ListItem>
<asp:ListItem Value="1" Text="Four"></asp:ListItem>
<asp:ListItem Value="2" Text="One"></asp:ListItem>
<asp:ListItem Value="2" Text="Two"></asp:ListItem>
</asp:CheckBoxList><asp:Button ID="MagicButton" runat="server" Text="Get values!" OnClick="MagicButton_Click" />
<br />
<asp:Label ID="Status" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
using System.Text;
using System;
using System.Collections.Generic;
using System.Web.UI.HtmlControls;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e){
}
private List<int> getSelectedValue(CheckBoxList list) {
List<int> values = new List<int>();
List<string> keys = new List<string>();
foreach (ListItem item in list.Items) {
int value = int.Parse(item.Value);
if (!keys.Contains(item.Text) && item.Selected) keys.Add(item.Text);
if (!values.Contains(value) && item.Selected || (keys.Contains(item.Text) && keys.Count < 2)) {
values.Add(value);
}
}
return values;
}
protected void MagicButton_Click(object sender, EventArgs e) {
List<int> values = getSelectedValue(List);
foreach (int value in values) Status.Text += value.ToString() + " ";
}
}