私は1つのデータベースにデータを追加すると、追加で、私はCheckBoxListのを持っているように、データベースに従うように、私はそれらを追加した他は、それを編集するために、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>
私はCheckBoxListのを取得していますのための私のコードSqlDataSourceを使用してデータベースから、私はそれらの項目の数を印刷するようにそれらを見ることができますページの0
問題がありますか?
おかげ
問題は、CheckBoxList1が* empty *(Countプロパティが0を返すという事実による)であるように見えます。その値はどこから来ると思われますか?そのページに定義を投稿してください。 –
私は言ったように、SqlDataSourceを使用してデータベースからデータを取得しており、ページでそれらを見ることができます。 – Peril
投稿したコードは、編集ページのLoadイベント用です。 'CheckBox1'に項目を置くコードはどこですか?それは問題がどこにあるのかと思われるからです。 –