참고, 따라서이 같은 행, 셀 및 제어 위치를 사용하여 CheckBoxField
값을 얻을 수 있습니다 :
// 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;
}
을 여전히 FindControl
를 사용하려는 경우 , ItemTemplate
래퍼 요소를 사용하고 그것에 CheckBox
컨트롤을 만드는 (당신은 데이터 바인딩에 대한 TemplateField
위에 DataField="ThingEnabled"
와 BoundField
을 사용해야 할 수도 있습니다) :
<asp:DetailsView runat="server" ...>
<Fields>
...
<asp:TemplateField HeaderText="Thing Enabled">
<ItemTemplate>
<asp:CheckBox ID="ThingEnabled" runat="server" Checked="<%# Bind("ThingEnabled") %>">
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
,691 363,210
는 그런 다음 FindControl
을 사용하여 해당 확인란 컨트롤에 액세스 할 수 있습니다
DetailsView dv = sender as DetailsView;
// n = row/cell indexes, starting from 0
bool checkboxvalue = (dv.Rows[n].Cells[n].FindControl("ThingEnabled") as CheckBox).Checked;
참조/유사한 문제 :
How to get value from DetailsView Control in ASP.NET?
을 Get the value of a BoundField from a DetailsView
Accessing DetailsView check box value
'검사 = '<% # 바인딩 ("ThingEnabled") %> ''- 오류가 발생합니다 속성을 작은 따옴표로 묶지 않으면 태그의 형식이 잘못되었습니다. – snumpy