У меня есть 2 страницы: одна для добавления данных в базу данных, а другая для ее редактирования, поэтому при добавлении у меня есть CheckBoxList, я добавил их в базу данных, как показано ниже.
URL-адреса: 1,2,3,4,5, а числа - это значения «ключей» из флажка.
я использовал этот код
String values = "";
foreach (ListItem i in CheckBoxList1.Items)
{
if (CheckBoxList1.Items.Count == 1)
values += i.Value;
else
if (i.Selected)
{
values += i.Value + ",";
}
}
а затем я добавил значения в базу данных, и это сработало отлично, теперь моя проблема на странице редактирования, так как сначала я хочу показать отмеченные флажки из базы данных, я использовал это, но это не работает
в загрузке страницы
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
... connection to the database .. etc
try
{
con.Open();
rd = cmd.ExecuteReader();
if (rd.Read())
{
String values = rd["urls"].ToString();//workes perfect
string[] arr = values.Split(',');//works perfect
int x = CheckBoxList1.Items.Count;//this will get me a zero
foreach (ListItem item in CheckBoxList1.Items)// doesnt enter here
{
foreach (string s in arr)
{
if (item.Text == s)
{
item.Selected = true;
}
}
}
.... //exceptions handling
мой код для страницы aspx
<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="urls_ds"
DataTextField="name" DataValueField="id">
</asp:CheckBoxList>
<asp:SqlDataSource ID="urls_ds" runat="server"
ConnectionString="<%$ ConnectionStrings:testing_cs %>"
SelectCommand="SELECT * FROM [tbl_urls]"></asp:SqlDataSource>
Я получаю список флажков из базы данных с помощью SqlDataSource , и на странице я вижу, как они помещаются, когда я печатаю количество элементов, равное нулю
где может быть проблема??
Спасибо
CheckBoxList1
пусто (из-за того, что его свойство Count возвращает 0). Откуда берутся его ценности? Разместите его определение на этой странице. - person Dan J   schedule 20.12.2011CheckBox1
? Потому что кажется, что проблема именно в этом. - person Dan J   schedule 20.12.2011