Après ce qui est couvert jusqu'ici la réponse y a… il n'est pas assez d'informations sur la façon dont vous étendez ceci voyez jusqu'à ce qu'est faux…
Cette évaluation, [si cbl.SelectedItem.Selected puis], aura comme conséquence 2 états possibles :
1) Vrai
2) Erreur parce que cbl.SelectedItem n'est rien
*** Son kindof stupide parce qu'il ne sera jamais FAUX. Pour qu'il soit FAUX l'article n'est pas choisi, et ne peut pas donc être un « SelectedItem ». Si ceci ne semble pas raisonnable puis vous devrez simplement en jouer avec lui pour voir ce que veux dire je.
La seule manière il est VRAI après que vous uncheck tous les articles dans une rangée soit si quelque chose plus tôt dans le cycle de vie de page l'affecte avant que nous obtenions à l'événement de SelectedIndexChanged ou il y a un problème avec l'exécution databinding pour le checkboxlist.
J'ai remonté un petit échantillon qui fonctionne. C'est code paresseux que je sais, mais il fait et démontre exactement ce que vous essayez de faire, et ce que j'ai énoncé ci-dessus. Vous devez conjugaison vos propres données à elle, mais quelque chose suffira. Exposition malade le son de données attaché à pour ma démo.
Je compte si vous faites une version simplifiée de ce que vous vous faites figurerez dehors ce qu'est faux, ou au moins vous aurez quelque chose que vous pouvez signaler ici que nous pouvons travailler avec pour voir ce qui est erroné. Je dirais l'exposition le gridview et databinding, mais l'autre code pourrait affecter aussi bien. Ainsi j'ai vraiment proposé de faire une version factice pour l'essai. Mes conjectures sont :
1) Là re-lie continuer (je sais que vous avez déjà considéré ceci).
2) Vous injectez le checkboxlist comme commande dynamique dans le gridview, et cette exécution cause le wonkiness.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
|
**** DE PAGE DU **** ASPX
<>
Grille Proto
CODE DU **** ASPX.VB DERRIÈRE LE ****
Importations System.Data.SqlClient
_Default partiel de classe
Hérite de System.Web.UI.Page
connStr public de Const comme corde = « point d'émission =. \ SQLEXPRESS ; Security=True Integrated »
Page_Load secondaire protégé (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs) manipule Me.Load
Sinon IsPostBack alors
BindGrid ()
Finir si
Finir le sous-marin
BindGrid secondaire privé ()
Faibles conn. en tant que nouveau SqlConnection (connStr)
Faible cmd en tant que nouveau SqlCommand (« CHOISIR * À PARTIR de DevTable », les conn.)
conn. S'ouvrent ()
Faible Dr. comme SqlDataReader = cmd.ExecuteReader
GridView1.DataSource = Dr.
GridView1.DataBind ()
Dr. Se fermer ()
conn. Se ferment ()
conn. Disposent ()
Sous-marin d'extrémité
GridView1_RowDataBound secondaire protégé (expéditeur de ByVal comme objet, ByVal e comme System.Web.UI.WebControls.GridViewRowEventArgs) manipule GridView1.RowDataBound
Si e.Row.RowType = puis DataControlRowType.DataRow
Faible cbl comme CheckBoxList = e.Row.FindControl (« cblBound »)
Faibles conn. en tant que nouveau SqlConnection (connStr)
Faible cmd en tant que nouveau SqlCommand (« testID CHOISI, fName de DevTable », conn.)
conn. S'ouvrent ()
Faible Dr. comme SqlDataReader = cmd.ExecuteReader
cbl.DataSource = Dr.
cbl.DataValueField = « testID »
cbl.DataTextField = « fName »
cbl.DataBind ()
Dr. Se fermer ()
conn. Se ferment ()
conn. Disposent ()
Finir si
Finir le sous-marin
Secondaire protégé cblBound_SelectedIndexChanged (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs)
Faible cbl comme CheckBoxList = DirectCast (expéditeur, CheckBoxList)
Si cbl.SelectedItem n'est rien alors
SelectedIndex1.Text = « rien a choisi »
Autrement
SelectedIndex1.Text = cbl.SelectedItem.Selected
Finir si
Essai
Si cbl.SelectedItem.Selected alors
lblError.Text = cbl.SelectedItem.Text
Finir si
Attraper ex comme exception
lblError.Text = ex. Message
Essai de fin
Sous-marin d'extrémité
Classe d'extrémité
**** SIMPLE DE TABLE DE BASE DE DONNÉES DE *****
testID fName lName nName sDate
1 NULLE de bblast de souffle de facture
NULLE de jjamaih de jamaih de 2 jason
NULLE de kbak de bak de 3 kang
NULLE de rrabbit de lapin de 4 Roger
NULLE NULLE NULLE NULLE NULLE
|