私は何時間もこれを理解しようとしています。とても悲しい!私ascx
の構造はDetailsViewからCheckBoxFieldを取得する方法
<asp:DetailsView ...>
<Fields>
.
.
<asp:CheckBoxField DataField="ThingEnabled" HeaderText="Thing Enabled"/>
.
.
.
</Fields>
</asp:DetailsView>
のようなもので、私が欲しい要素がThingEnabled
一つです。
セットアップ:CheckBoxField
sがID
性質を持っていないので、私はFindControl
を使用できないことを
DetailsView dv = (DetailsView)sender;
CheckBoxField cbf = ????
は注意してください。それでもFindControl
を使用したい場合は
// Page_Load is just an example event here, change to any event you need
protected void Page_Load(object sender, EventArgs e)
{
DetailsView dv = sender as DetailsView;
// the checkbox uses checked state as its value to be passed
// n = row/cell/control indexes where CheckBoxField has bound into, starting from 0
// e.g. dv.Rows[0].Cells[0].Controls[0] as CheckBox
bool checkboxvalue = (dv.Rows[n].Cells[n].Controls[n] as CheckBox).Checked;
}
:DetailsView
が、それは、したがって、あなたがこのように行、セルとコントロールの位置を使用してCheckBoxField
値を得ることができた代わりに、各行のコントロールIDのその上で細胞を使用していることを
を 'バインド( "ThingEnabled")%> '' - エラーが表示されますアトリビュートを単一引用符で囲まないと、タグの形式が正しくありません。 – snumpy